/* Shared editorial scale: pictures lead, typography stays quiet. */
:root{--sf-paper:#eeeae1;--sf-ink:#292d2b;--sf-muted:#747771;--sf-line:#c9c8bf;--sf-type-body:15px;--sf-type-small:11px;--sf-type-title:clamp(28px,3.2vw,44px);--sf-type-heading:clamp(23px,2.4vw,32px);--sf-section-gap:clamp(72px,9vw,144px);--sf-gutter:clamp(24px,5vw,80px);--sf-copy-width:38em}
body.sf-wordpress{font-family:'Hiragino Kaku Gothic ProN','Yu Gothic',Meiryo,sans-serif;font-size:var(--sf-type-body);font-weight:400;letter-spacing:.035em}
body.sf-wordpress .sf-content h1{font-family:inherit;font-size:var(--sf-type-title);font-weight:500;line-height:1.6;letter-spacing:.035em}
body.sf-wordpress .sf-prose h2,body.sf-wordpress .sf-channel-copy h2,body.sf-wordpress .sf-channel-editorial h2,body.sf-wordpress .sf-domain-overview h2{font-family:inherit;font-size:var(--sf-type-heading);font-weight:500;line-height:1.65;letter-spacing:.04em}
body.sf-wordpress .sf-domain-info h3,body.sf-wordpress .sf-prose .sf-domain-info h3{font-size:var(--sf-type-heading);font-weight:500;line-height:1.7;margin:12px 0 30px}
body.sf-wordpress .sf-prose{font-size:var(--sf-type-body);line-height:2}
body.sf-wordpress .sf-eyebrow{font-family:Arial,sans-serif;font-size:10px;line-height:1.6;letter-spacing:.12em;font-weight:400}
body.sf-wordpress .sf-channel-editorial{padding:var(--sf-section-gap) var(--sf-gutter)}
body.sf-wordpress .sf-channel-editorial header{max-width:850px}
body.sf-wordpress .sf-channel-editorial h2{margin:22px 0 26px}
body.sf-wordpress .sf-editorial-deck{font-size:14px;line-height:2;max-width:var(--sf-copy-width)}
body.sf-wordpress .sf-channel-copy{padding:60px 0 100px}
body.sf-wordpress .sf-channel-copy>header{max-width:var(--sf-copy-width);margin:0 0 70px}
body.sf-wordpress .sf-service-story{gap:9%;margin:70px 0 var(--sf-section-gap)}
body.sf-wordpress .sf-service-story h2{font-size:clamp(22px,2vw,28px)}
body.sf-wordpress .sf-business-domains{padding-top:var(--sf-section-gap)}
body.sf-wordpress .sf-domain-overview{padding:0 var(--sf-gutter);gap:10%;margin-bottom:var(--sf-section-gap)}
body.sf-wordpress .sf-domain-statement{font-size:clamp(23px,2.5vw,34px);line-height:1.9;font-weight:400;letter-spacing:.05em}
body.sf-wordpress .sf-domain-directory-lead{font-size:14px;line-height:2.1;margin-bottom:44px}
body.sf-wordpress .sf-domain-directory nav a{padding:32px 0}
body.sf-wordpress .sf-domain-directory strong{font-size:clamp(19px,1.7vw,24px);font-weight:400}
body.sf-wordpress .sf-domain-info{padding:64px var(--sf-gutter) 40px;gap:10%}
body.sf-wordpress .sf-domain-description{font-size:14px;line-height:2.1;max-width:36em}
body.sf-wordpress .sf-domain-catch{font-size:18px;line-height:1.9;margin-bottom:24px}
body.sf-wordpress .sf-domain>figure{margin:0 var(--sf-gutter)}
body.sf-wordpress .sf-domain{margin-bottom:var(--sf-section-gap)}
body.sf-wordpress .sf-content:has(.sf-business-domains){width:100%;max-width:none}
body.sf-wordpress .sf-content:has(.sf-business-domains)>.page>.sf-breadcrumb,body.sf-wordpress .sf-content:has(.sf-business-domains) .sf-article-heading{margin-left:var(--sf-gutter)}
body.sf-wordpress .sf-content .sf-prose:has(>.sf-business-domains){max-width:none}
body.sf-wordpress .sf-content .sf-business-domains{padding-top:30px}
body.sf-wordpress .sf-content .sf-domain-overview h2{margin-top:20px}
body.sf-home .sf-sec{padding-top:var(--sf-section-gap);padding-bottom:var(--sf-section-gap)}
body.sf-home .sf-en{font-size:clamp(29px,4vw,50px);font-weight:400;line-height:1.2}
body.sf-home .sf-jp{font-size:11px;font-weight:400}
body.sf-home .sf-editorial-card .ttl{font-size:clamp(16px,1.5vw,21px)!important;font-weight:400;line-height:1.6}
body.sf-home .sf-answer h1{font-size:clamp(24px,2.8vw,36px);line-height:1.8;font-weight:500}
body.sf-home .sf-answer .tx{font-size:14px;line-height:2.1}
@media(max-width:640px){:root{--sf-type-body:14px;--sf-section-gap:72px;--sf-gutter:24px}.sf-domain-map{width:160px}body.sf-wordpress .sf-domain-info{padding:36px 24px}body.sf-wordpress .sf-domain>figure{margin:0}body.sf-wordpress .sf-channel-copy{padding:35px 0 70px}body.sf-wordpress .sf-domain-overview{gap:40px}body.sf-wordpress .sf-domain-statement{font-size:23px}body.sf-wordpress .sf-domain-directory nav a{padding:25px 0}body.sf-wordpress .sf-domain-directory strong{font-size:19px}}
body.sf-wordpress .sf-article-texture{display:none!important}
body.sf-wordpress .sf-content .sf-domain-overview h1{font-size:32px;line-height:1.6;margin:20px 0 0}
.sf-header .sf-brand img{display:block;width:180px;height:auto}
/* The broadcast texture continues into the editorial pages, very lightly. */
body.sf-wordpress:after{background-image:repeating-linear-gradient(0deg,rgba(25,30,26,.17) 0px,rgba(25,30,26,.17) 1px,transparent 1px,transparent 4px),url('../film-grain.svg');background-size:100% 4px,140px 140px;opacity:.13}

/* Photo-led recruitment and native page rhythm. */
.sf-recruit-page{padding:0 var(--sf-gutter);max-width:1600px;margin:auto}
.sf-inner-opening{padding:90px 0 70px;display:grid;grid-template-columns:1fr 1fr;gap:24px 8%;align-items:end}
.sf-inner-opening>.sf-eyebrow{grid-column:1/-1}
.sf-inner-opening h1{font-size:clamp(30px,4.2vw,62px);font-weight:500;line-height:1.65;letter-spacing:-.045em;margin:0}
.sf-inner-opening>p:last-child{font-size:15px;line-height:2.2;margin-bottom:12px}
.sf-inner-cover{margin:0;overflow:hidden}
.sf-inner-cover img{width:100%;height:min(70vw,650px);object-fit:cover;object-position:center 65%;display:block}
.sf-recruit-story{display:grid;grid-template-columns:1fr 1fr;gap:10%;padding:120px 0}
.sf-recruit-story h2{font-size:clamp(23px,2.7vw,38px);line-height:1.8;font-weight:500}
.sf-recruit-story p{line-height:2.2;font-size:14px}
.sf-recruit-story a,.sf-recruit-openings a{display:inline-block;border-bottom:1px solid;padding:12px 0;text-decoration:none;margin-top:18px;font-size:13px}
.sf-team-cover{width:76%;margin-left:auto}.sf-team-cover img{height:auto}
.sf-recruit-openings{padding:120px 0}.sf-recruit-openings h2{font-size:32px;font-weight:500;margin-bottom:55px}
.sf-recruit-openings article{display:grid;grid-template-columns:1fr 1fr;gap:10%;border-top:1px solid #aaa395;padding:40px 0}
.sf-recruit-openings h3{font-size:27px;font-weight:500;margin:12px 0}.sf-recruit-openings article p{font-size:14px;line-height:2}
.sf-inner-outro{margin:80px var(--sf-gutter) 0;padding:65px 0;border-top:1px solid #aaa395}
.sf-inner-outro>a{display:block;font-size:clamp(27px,4vw,54px);line-height:1.6;text-decoration:none;margin:25px 0 40px}
.sf-inner-outro nav{display:flex;gap:35px;font-size:13px}
body.sf-wordpress .sf-article-heading{padding:55px 0 70px;max-width:1000px}
body.sf-wordpress .sf-article-heading h1{font-size:clamp(28px,3.8vw,54px);line-height:1.65;font-weight:500}
body.sf-wordpress .sf-hero-image{margin:0 0 80px}
body.sf-wordpress .sf-hero-image img{width:100%;max-height:760px;object-fit:cover}
@media(max-width:640px){.sf-inner-opening{padding:48px 0 40px;grid-template-columns:1fr;gap:20px}.sf-inner-opening h1{font-size:31px}.sf-inner-opening>p:last-child{font-size:13px}.sf-recruit-story{grid-template-columns:1fr;padding:65px 0;gap:20px}.sf-team-cover{width:100%}.sf-recruit-openings{padding:70px 0}.sf-recruit-openings article{grid-template-columns:1fr;gap:12px;padding:28px 0}.sf-recruit-openings h3{font-size:23px}.sf-inner-outro{margin-top:40px}.sf-inner-outro nav{gap:20px;flex-wrap:wrap}}

/* One continuous CRT surface over all page content, without an animation loop. */
body.sf-wordpress:after{background-image:repeating-linear-gradient(0deg,rgba(25,30,26,.22) 0,rgba(25,30,26,.22) 1px,transparent 1px,transparent 4px),url('../film-grain.svg'),radial-gradient(ellipse at center,transparent 60%,rgba(32,30,24,.22) 100%);background-size:100% 4px,140px 140px,100% 100%;opacity:.23;pointer-events:none}
.sf-header .sf-brand img{filter:brightness(0)}

.sf-analog-toggle{position:fixed;bottom:18px;left:20px;z-index:80;border:1px solid #958b7980;border-radius:0;padding:9px 12px;background:#f2eee5e8;color:#38352d;font:10px Arial,sans-serif;letter-spacing:.08em;cursor:pointer;min-height:40px}.sf-analog-toggle:focus-visible{outline:2px solid #55432c;outline-offset:3px}
html.sf-analog-off body.sf-wordpress:after,html.sf-analog-off .sf-poster-screen:after{display:none!important}
html.sf-analog-off .sf-portal-paper{background-image:none!important}

/* A rolling horizontal reception band, composited rather than redrawing WebGL. */
body.sf-wordpress:before{content:"";position:fixed;left:0;right:0;top:-16svh;height:14svh;z-index:62;pointer-events:none;background-image:linear-gradient(transparent,rgba(230,232,220,.18) 43%,rgba(36,41,32,.13) 51%,transparent),url('../film-grain.svg');background-size:100% 100%,128px 128px;mask-image:linear-gradient(transparent,#000 45%,transparent);opacity:.24;animation:sf-reception-roll 7s linear infinite;will-change:transform}
@keyframes sf-reception-roll{from{transform:translateY(0)}to{transform:translateY(132svh)}}
html.sf-analog-off body.sf-wordpress:before{display:none!important}
@media(prefers-reduced-motion:reduce){body.sf-wordpress:before{display:none}}

.sf-orbit-brand{padding-bottom:8%;gap:15px}.sf-orbit-brand small{position:static;width:76%;height:auto;border:0;border-radius:0;display:grid;grid-template-columns:1fr 1fr;gap:6px 8px;font-size:10px;line-height:1.6}.sf-orbit-brand small span:last-child{grid-column:1/-1}.sf-orbit-brand small span{font-weight:400}

/* The entrance gives a brief update; work is the first full editorial spread. */
body.sf-home .sf-latest-pair{display:grid;grid-template-columns:1.1fr 1fr;gap:7%;padding:70px var(--sf-gutter) 20px}
body.sf-home .sf-latest-pair .sf-sec{padding:0!important;background:none!important}.sf-latest-pair .sf-in{padding:0!important}.sf-latest-pair .sf-notch{display:none}
body.sf-home .sf-latest-pair .sf-en{font-size:24px!important}.sf-latest-pair .sf-rule{margin:18px 0 25px}
.sf-latest-pair .sf-editorial-grid{grid-template-columns:1fr 1fr;gap:22px}.sf-latest-pair .sf-editorial-card:nth-child(n){grid-column:auto;margin:0;width:100%}.sf-latest-pair .sf-editorial-card .ph{aspect-ratio:16/10}
body.sf-home .sf-latest-pair .sf-editorial-card .ttl{font-size:13px!important}.sf-latest-pair .sf-news-row{padding:18px 0;grid-template-columns:78px 1fr 12px;gap:12px}.sf-latest-pair .sf-news-row>span{font-size:13px}.sf-latest-pair .sf-news-row time{font-size:10px}
.sf-archive-links{display:flex;gap:6%;padding:65px var(--sf-gutter)}.sf-archive-links a{flex:1;border-top:1px solid #898174;padding-top:22px;text-decoration:none;font-size:20px}.sf-archive-links span{display:block;font-size:12px;margin-top:14px}
.sf-service-cards-heading{padding:0 var(--sf-gutter) 40px}.sf-service-cards-heading h2{font-size:28px;font-weight:500}
.sf-service-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;padding:0 var(--sf-gutter)}
body.sf-wordpress .sf-service-cards .sf-domain{background:transparent;color:inherit;margin:0;padding:0}
body.sf-wordpress .sf-service-cards .sf-domain>figure{margin:0}.sf-service-cards .sf-domain>figure img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover}
body.sf-wordpress .sf-service-cards .sf-domain-info{display:block;padding:28px 0 0;max-width:none}.sf-service-cards .sf-domain-info h3{font-size:21px;margin:12px 0 22px}.sf-service-cards .sf-domain-catch{font-size:15px!important;line-height:1.8;min-height:3.6em}.sf-service-cards .sf-domain-description{font-size:13px!important;line-height:2;min-height:8em}.sf-service-cards .sf-domain-link{max-width:none}
@media(max-width:700px){body.sf-home .sf-latest-pair{grid-template-columns:1fr;gap:45px;padding-top:45px}.sf-service-cards{grid-template-columns:1fr;gap:60px}.sf-service-cards .sf-domain-catch,.sf-service-cards .sf-domain-description{min-height:0}.sf-archive-links{flex-direction:column;gap:35px}.sf-latest-pair .sf-head{flex-direction:row!important}.sf-latest-pair .sf-news-row time{grid-column:auto}}

.sf-header.sf-home-menu{position:fixed;left:0;right:0;top:var(--sf-toolbar,0px);z-index:75;margin:0;background:rgba(242,238,229,.96);border-bottom:1px solid #a3988355;opacity:0;visibility:hidden;pointer-events:none;transform:translateY(-110%);transition:opacity .25s,transform .25s,visibility .25s}
body.sf-content-entered .sf-home-menu{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0)}
@media(max-width:700px){.sf-home-menu .sf-live{display:none}.sf-home-menu nav{gap:13px;overflow-x:auto;white-space:nowrap}.sf-home-menu .sf-brand img{width:120px}}
@media(prefers-reduced-motion:reduce){.sf-header.sf-home-menu{transition:none}}
.sf-header.sf-home-menu{padding:18px 4vw}
@media(max-width:700px){.sf-header.sf-home-menu{padding:12px 20px;gap:10px}.sf-home-menu nav{flex-wrap:nowrap;font-size:11px}}

.sf-interactive-capabilities{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin:50px 0 80px}.sf-interactive-capabilities section{border-top:1px solid #9f9686;padding-top:20px}.sf-interactive-capabilities h2{font-size:18px!important;line-height:1.7}.sf-interactive-capabilities p:last-child{font-size:13px;line-height:2}.sf-orbit-ignition small{font-size:10px;margin-top:7px}@media(max-width:700px){.sf-interactive-capabilities{grid-template-columns:1fr;gap:24px}}
/* Charcoal broadcast surface for the home page. */
body.sf-home{--sf-paper:#171918;--sf-white:#171918;--sf-paper2:#202321;--sf-ink:#ece8df;--sf-muted:#adafa7;--sf-line:#4b504b;background:#171918;color:#ece8df}
body.sf-home .sf-portal{background:#171918}
body.sf-home .sf-portal-paper{background:radial-gradient(ellipse at 48% 85%,#35352d80,transparent 62%),#171918}
body.sf-home .sf-channel-directory button{color:#b7bab1}body.sf-home .sf-channel-directory button[aria-current=true]{color:#fff3dc;border-bottom-color:#c58c65}
body.sf-home .sf-channel-help{color:#dfdfd4;border-color:#777d70;background:#20241f}
body.sf-home .sf-header.sf-home-menu{background:#171918f5;border-color:#4b504b;color:#ece8df}
body.sf-home .sf-header .sf-brand img{filter:brightness(0) invert(1)}
body.sf-home .sf-channel-flow a,body.sf-home .sf-answer,body.sf-home .sf-answer .tx,body.sf-home .sf-answer h1{color:#ece8df}
body.sf-home .sf-jp,body.sf-home .sf-meta,body.sf-home .sf-cat,body.sf-home .sf-news-row time,body.sf-home .sf-eyebrow{color:#afb3aa}
body.sf-home .sf-rule{background:#50564c}body.sf-home .sf-news-row,body.sf-home .sf-archive-links a,body.sf-home .sf-domain-link{border-color:#50564c}
body.sf-home .sf-pill:hover{background:#ece8df;color:#171918!important}
body.sf-home .sf-analog-toggle{background:#202420ed;color:#dedfd5;border-color:#727967}
body.sf-home.sf-wordpress:after{background-image:repeating-linear-gradient(0deg,#e9f0d925 0,#e9f0d925 1px,transparent 1px,transparent 4px),url('../film-grain.svg');mix-blend-mode:soft-light;opacity:.34}
body.sf-home.sf-wordpress:before{mix-blend-mode:screen;opacity:.2}
body.sf-home .sf-portal-poster>img{mix-blend-mode:normal}

body.sf-home .sf-channel-flow,body.sf-home .sf-sec{background-color:#171918;color:#ece8df}body.sf-home .sf-answer{background-color:#202321;color:#ece8df}body.sf-home .sf-news-empty{color:#afb3aa}

/* 2026-09-08: charcoal grain, white typography and broadcast spectrum accents. */
body.sf-wordpress,body.sf-home{--sf-paper:#262626;--sf-white:#262626;--sf-paper2:#2d2d2d;--sf-ink:#fafafa;--sf-muted:#c2c2c2;--sf-line:#666;--sf-accent:#f18b54;background:#262626;color:#fafafa}
body.sf-wordpress .sf-sec,body.sf-home .sf-channel-flow,body.sf-home .sf-sec,body.sf-home .sf-portal{background-color:#262626;color:#fafafa}
body.sf-home .sf-portal-paper{background:radial-gradient(ellipse at 48% 85%,#45403c55,transparent 62%),#262626}
body.sf-wordpress .sf-header,body.sf-home .sf-header.sf-home-menu{background:#262626f5;color:#fafafa;border-color:#777}
body.sf-wordpress .sf-header .sf-brand img{filter:brightness(0) invert(1)}
body.sf-wordpress .sf-answer{background:#2d2d2d;color:#fafafa}
body.sf-wordpress .sf-answer .tx,body.sf-wordpress .sf-answer h1,body.sf-wordpress .sf-channel-flow a{color:#fafafa}
body.sf-wordpress .sf-jp,body.sf-wordpress .sf-meta,body.sf-wordpress .sf-cat,body.sf-wordpress .sf-news-row time,body.sf-wordpress .sf-eyebrow,body.sf-wordpress .sf-news-empty{color:#c2c2c2}
body.sf-wordpress:after{background-image:url('../film-grain.svg'),repeating-linear-gradient(0deg,#ffffff0c 0,#ffffff0c 1px,transparent 1px,transparent 4px);background-size:128px 128px,100% 4px;mix-blend-mode:soft-light;opacity:.42}
body.sf-wordpress:before{mix-blend-mode:screen;opacity:.15}
body.sf-wordpress .sf-analog-toggle{background:#262626ed;color:#fff;border-color:#888}
.sf-service-cards .sf-domain{border-top:2px solid transparent;border-image:linear-gradient(100deg,#5b9beb,#a38bc4,#f18b54) 1;padding-top:24px!important}
.sf-service-cards .sf-domain:nth-child(2){border-image:linear-gradient(100deg,#a38bc4,#f18b54) 1}
.sf-service-cards .sf-domain:nth-child(3){border-image:linear-gradient(100deg,#f18b54,#ebc75f) 1}
body.sf-wordpress a:hover{color:#f2a579}
body.sf-wordpress .sf-channel-directory button[aria-current=true]{color:#fff;border-bottom-color:#f18b54}
body.sf-wordpress .sf-channel-help{background:#2d2d2d;color:#fff;border-color:#888}
@keyframes sf-type-reception{
 0%{opacity:.6;transform:translateX(-2px);text-shadow:2px 0 #5b9beb,-2px 0 #f18b5480;clip-path:inset(0)}
 18%{opacity:1;transform:translateX(1px);clip-path:inset(0 0 8%);text-shadow:-2px 0 #a38bc480}
 25%{transform:translateX(-1px);clip-path:inset(3% 0 0);text-shadow:2px 0 #5b9beb80}
 34%{transform:translateX(0);clip-path:inset(0);text-shadow:none}
 47%{transform:translateX(1px);text-shadow:-1px 0 #f18b5480}
 58%,100%{opacity:1;transform:none;clip-path:inset(0);text-shadow:none}
}
.sf-type-receiving{animation:sf-type-reception 480ms steps(1,end) both}
html.sf-analog-off .sf-type-receiving{animation:none}
@media(prefers-reduced-motion:reduce){.sf-type-receiving{animation:none}}

body.sf-wordpress:after,body.sf-home.sf-wordpress:after{background-image:url('../film-grain.svg');background-size:180px 180px;mix-blend-mode:soft-light;opacity:.18}

/* Editorial rhythm: compact type, wide image spreads and calm text columns. */
body.sf-wordpress{font-family:"Zen Kaku Gothic New","Hiragino Kaku Gothic ProN","Noto Sans JP",sans-serif;letter-spacing:.045em}
body.sf-wordpress .sf-article-heading{max-width:720px;margin:0 auto;padding:100px 0 65px}
body.sf-wordpress .sf-article-heading h1{font-size:clamp(24px,2vw,29px);line-height:1.7;font-weight:600;letter-spacing:.06em}
.sf-channel-copy>header{max-width:720px;margin:0 auto 100px}.sf-channel-copy>header p{font-size:16px;line-height:2.1}
body.sf-wordpress .sf-service-story h2{font-size:24px;line-height:1.7;font-weight:600}.sf-service-story p{font-size:15px;line-height:2.1}
body.sf-wordpress .sf-domain-overview{padding-top:100px;padding-bottom:140px}
body.sf-wordpress .sf-domain-statement{font-size:26px;line-height:1.8}
body.sf-wordpress .sf-business-orbits span{color:#fff;border-color:#aaa;background:transparent}
.sf-case-intro{max-width:720px;margin:0 auto;padding:110px 0 100px}
.sf-case-intro h1{font-size:26px;line-height:1.7;font-weight:600;letter-spacing:.06em;margin:34px 0}
.sf-case-summary,.sf-case-text,.sf-case-body{font-size:16px;line-height:2.05}
.sf-case-cover{margin:0 0 100px}.sf-case-cover img{display:block;width:100%;height:auto;max-height:none;object-fit:contain}
.sf-case-body{max-width:100%;margin:0 auto 100px}.sf-case-body>p,.sf-case-body>h2,.sf-case-body>h3,.sf-case-body>ul{max-width:720px;margin:24px auto}
.sf-case-body figure,.sf-case-body .wp-block-image{margin:70px 0}.sf-case-body img{height:auto}
.sf-case-text{max-width:720px;margin:100px auto}.sf-case-text h2,.sf-case-information h2{font-size:18px;line-height:1.8;font-weight:600;margin-bottom:25px}
.sf-case-images .sf-gallery{display:grid;grid-template-columns:1fr;gap:65px}.sf-case-images img{width:100%;height:auto;object-fit:contain}
.sf-case-information{max-width:720px;margin:120px auto 80px;border-top:1px solid #777;padding-top:40px;font-size:14px;line-height:2}
.sf-case-information dl>div{display:grid;grid-template-columns:120px 1fr;gap:25px;margin:15px 0}.sf-case-information dd{margin:0}.sf-case-back{max-width:720px;margin:80px auto 120px;border-top:1px solid #777;padding-top:30px;font-size:15px}
@media(max-width:700px){.sf-case-intro{padding:65px 0 55px}.sf-case-intro h1{font-size:24px}.sf-case-summary,.sf-case-text,.sf-case-body{font-size:14px}.sf-case-text,.sf-case-information{margin:65px auto}.sf-case-cover{margin-bottom:55px}.sf-case-images .sf-gallery{gap:28px}.sf-case-information dl>div{grid-template-columns:75px 1fr;gap:18px}body.sf-wordpress .sf-article-heading{padding-top:60px}.sf-channel-copy>header{margin-bottom:60px}}

body.sf-wordpress .sf-content .sf-case-intro h1{font-size:26px;line-height:1.7;font-weight:600;letter-spacing:.06em}
/* Stronger tuning interference: split bands, RGB separation, then lock. */
@keyframes sf-type-reception{
 0%{opacity:.7;transform:translateX(-9px) skewX(-3deg);text-shadow:6px 0 #559bff,-5px 0 #ff885e;clip-path:inset(8% 0 48%)}
 10%{opacity:1;transform:translateX(7px);clip-path:inset(40% 0 8%);text-shadow:-7px 0 #ac86ef,5px 0 #ff885e}
 18%{transform:translateX(-5px);clip-path:inset(0);text-shadow:4px 0 #559bff,-4px 0 #ff885e}
 25%{transform:translateX(10px) skewX(4deg);clip-path:inset(22% 0 38%);text-shadow:-6px 0 #559bff}
 32%{transform:translateX(-3px);clip-path:inset(0);text-shadow:3px 0 #ac86ef,-3px 0 #ff885e}
 43%{transform:translateX(5px);clip-path:inset(55% 0 4%);text-shadow:-4px 0 #559bff}
 51%{transform:translateX(-2px);clip-path:inset(0);text-shadow:2px 0 #559bff,-2px 0 #ff885e}
 64%{transform:translateX(2px);text-shadow:-2px 0 #ac86ef;clip-path:inset(0)}
 75%,100%{opacity:1;transform:none;clip-path:inset(0);text-shadow:none}
}
.sf-type-receiving{animation-duration:720ms}
/* Clearer entrance headings, and a light photo tuning pulse on interaction. */
body.sf-home .sf-latest-pair .sf-en{font-size:clamp(30px,2.7vw,40px)!important;line-height:1.15}
body.sf-home .sf-latest-pair .sf-jp{font-size:13px!important;letter-spacing:.09em}
@keyframes sf-photo-tune{
 0%{transform:translateX(-2px) scale(1.015);filter:saturate(1.35) contrast(1.08);clip-path:inset(0)}
 20%{transform:translateX(3px) scale(1.015);clip-path:inset(1% 0 2%);filter:saturate(.7) contrast(1.15)}
 38%{transform:translateX(-2px) scale(1.015);clip-path:inset(0);filter:saturate(1.2)}
 55%{transform:translateX(1px) scale(1.015);filter:none}
 100%{transform:scale(1.015);filter:none;clip-path:inset(0)}
}
@media(hover:hover) and (prefers-reduced-motion:no-preference){
 html:not(.sf-analog-off) .sf-grid>a:hover .ph img,html:not(.sf-analog-off) .sf-editorial-card:hover .ph img,html:not(.sf-analog-off) .sf-grid>a:focus-visible .ph img,html:not(.sf-analog-off) .sf-editorial-card:focus-visible .ph img{animation:sf-photo-tune 280ms steps(1,end) 1}
}

body.sf-wordpress .sf-service-cards-heading .sf-business-title{font-size:clamp(44px,6.5vw,96px);line-height:1.1;font-weight:500;margin:0 0 20px;letter-spacing:-.04em}.sf-service-cards-heading{padding-bottom:55px}
.sf-contact-heading{padding:100px 0 85px}.sf-contact-heading h1{font-size:clamp(48px,7vw,96px)!important;line-height:1.1;letter-spacing:-.04em;margin:20px 0 40px}.sf-contact-heading>p:last-child{font-size:18px;line-height:2}
.sf-contact-options{display:grid;grid-template-columns:1.25fr 1fr;gap:10%;padding-bottom:100px}.sf-contact-options section{border-top:1px solid #777;padding-top:30px}.sf-contact-options h2{font-size:22px!important;margin:24px 0}.sf-contact-options p{font-size:15px;line-height:2}.sf-contact-action{display:flex;justify-content:space-between;gap:20px;background:#f3f3ef;color:#262626!important;padding:23px 26px;margin:36px 0 14px;text-decoration:none}.sf-contact-options small{font-size:12px;color:#ccc}.sf-contact-phone{display:block;font-size:clamp(24px,3vw,38px);margin:32px 0;text-decoration:none}.sf-case-body iframe{display:block;width:100%;max-width:960px;aspect-ratio:16/9;height:auto;margin:65px auto}
@media(max-width:700px){.sf-contact-heading{padding:55px 0}.sf-contact-heading>p:last-child{font-size:15px}.sf-contact-options{grid-template-columns:1fr;gap:50px;padding-bottom:60px}.sf-contact-options h2{font-size:19px!important}}
.sf-portal-poster>img{display:none!important}
.sf-business-opening{padding:80px var(--sf-gutter) 100px}.sf-business-opening h1{font-size:clamp(48px,7vw,96px)!important;letter-spacing:-.04em;line-height:1.1;margin:25px 0 40px}.sf-business-opening>p:last-child{font-size:18px;line-height:2}
.sf-business-opening+.sf-service-cards-heading{display:none}
.sf-business-opening~.sf-service-cards{display:block}.sf-business-opening~.sf-service-cards .sf-domain{display:grid;grid-template-columns:1.2fr 1fr;gap:7%;padding:40px 0 70px!important;margin-bottom:45px}.sf-business-opening~.sf-service-cards .sf-domain-info{padding-top:0}.sf-business-opening~.sf-service-cards .sf-domain-description{min-height:0;font-size:15px!important}.sf-business-opening~.sf-service-cards .sf-domain-info h3{font-size:26px}.sf-business-opening~.sf-service-cards .sf-domain-catch{min-height:0}
@media(max-width:700px){.sf-business-opening{padding:45px 0 55px}.sf-business-opening~.sf-service-cards .sf-domain{grid-template-columns:1fr;gap:25px}.sf-business-opening>p:last-child{font-size:15px}}
.sf-about .sf-business-opening{padding-left:0;padding-right:0}.sf-about-photo{margin:0}.sf-about-photo img{width:100%;height:auto;display:block}.sf-about-intro{display:grid;grid-template-columns:1fr 1fr;gap:10%;padding:110px 0}.sf-about-intro h2{font-size:26px!important;line-height:1.8}.sf-about-intro p{font-size:16px;line-height:2}.sf-about-intro a{display:inline-block;margin-top:25px;padding-bottom:12px;border-bottom:1px solid #aaa}.sf-company-profile{padding:60px 0 100px}.sf-company-profile header{display:flex;align-items:baseline;justify-content:space-between}.sf-company-profile h2{font-size:clamp(38px,5vw,70px)!important}.sf-company-profile dl>div{display:grid;grid-template-columns:180px 1fr;gap:30px;border-top:1px solid #777;padding:25px 0;font-size:15px;line-height:1.8}.sf-company-profile dd{margin:0}
@media(max-width:700px){.sf-about-intro{grid-template-columns:1fr;gap:25px;padding:60px 0}.sf-about-intro h2{font-size:23px!important}.sf-about-intro p{font-size:14px}.sf-company-profile dl>div{grid-template-columns:90px 1fr;gap:18px;font-size:13px}}
.sf-about-method,.sf-about-history{padding:60px 0 100px}.sf-about-method h2,.sf-about-history h2{font-size:28px!important;line-height:1.8;margin:20px 0 50px}.sf-method-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:40px}.sf-method-grid article{border-top:1px solid #777;padding-top:24px}.sf-method-grid span{font-size:11px;color:#f1a071}.sf-method-grid h3{font-size:19px;line-height:1.7;margin:24px 0}.sf-method-grid p{font-size:14px;line-height:2}.sf-about-history{display:grid;grid-template-columns:1fr 1fr;gap:8%}.sf-about-history ol{list-style:none;margin:0;padding:0}.sf-about-history li{border-top:1px solid #777;display:grid;grid-template-columns:70px 1fr;gap:24px;padding:25px 0}.sf-about-history time{color:#d7b395;font-size:21px}.sf-about-history li p{margin:0;font-size:14px;line-height:2}.sf-domain-scope{font-size:13px;line-height:1.9;margin:28px 0}.sf-domain-scope>div{border-top:1px solid #666;padding:17px 0;display:grid;grid-template-columns:75px 1fr;gap:15px}.sf-domain-scope dt{color:#ccc}.sf-domain-scope dd{margin:0}.sf-domain-example{display:block;font-size:13px;line-height:1.8;margin:15px 0 25px}.sf-officer-title{font-size:22px;margin:70px 0 25px}
@media(max-width:700px){.sf-method-grid,.sf-about-history{grid-template-columns:1fr;gap:30px}.sf-about-method,.sf-about-history{padding:35px 0 55px}.sf-about-method h2,.sf-about-history h2{font-size:23px!important;margin-bottom:30px}.sf-domain-scope>div{grid-template-columns:65px 1fr;gap:10px}}
@media(max-width:700px){.sf-business-domains>.sf-business-opening{padding:45px var(--sf-gutter) 55px}}
.sf-brand-creative>.sf-business-opening{padding-left:0;padding-right:0}.sf-brand-scope,.sf-brand-process,.sf-brand-cases,.sf-brand-faq{padding:45px 0 85px}.sf-brand-creative section>header h2{font-size:28px!important;line-height:1.7;margin:18px 0 45px}.sf-brand-scope .sf-method-grid{row-gap:40px}.sf-brand-process ol{display:grid;grid-template-columns:repeat(4,1fr);gap:30px;list-style:none;padding:0;margin:0}.sf-brand-process li{border-top:1px solid #888;padding-top:20px}.sf-brand-process li>span{font-size:25px;color:#e6a275}.sf-brand-process h3{font-size:18px;line-height:1.8}.sf-brand-process p{font-size:14px;line-height:2}.sf-brand-cases .sf-card-grid{grid-template-columns:repeat(3,1fr);gap:30px}.sf-brand-cases h3{font-size:20px;line-height:1.7}.sf-brand-cases .sf-card img{aspect-ratio:4/3}.sf-brand-faq article{border-top:1px solid #777;padding:25px 0;display:grid;grid-template-columns:1fr 1.2fr;gap:8%}.sf-brand-faq h3{font-size:17px;line-height:1.8;margin:0}.sf-brand-faq p{font-size:14px;line-height:2;margin:0}
@media(max-width:700px){.sf-brand-process ol,.sf-brand-cases .sf-card-grid,.sf-brand-faq article{grid-template-columns:1fr;gap:24px}.sf-brand-creative section>header h2{font-size:23px!important}.sf-brand-scope,.sf-brand-process,.sf-brand-cases,.sf-brand-faq{padding:25px 0 50px}}

/* Editorial diagrams: explicit relationships, restrained lines, generous whitespace. */
.sf-ethos{padding:clamp(70px,9vw,150px) 0}.sf-ethos>header{margin-bottom:clamp(48px,7vw,110px)}.sf-ethos>header h2{font-size:clamp(28px,3.3vw,52px);line-height:1.6;font-weight:500}.sf-ethos-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(40px,7vw,120px)}.sf-ethos figure{margin:0;min-width:0}.sf-ethos svg{width:100%;height:auto;display:block;overflow:visible}.sf-ethos svg text{font:500 21px Arial,sans-serif;letter-spacing:1px}.sf-ethos svg .sf-ethos-small{font-size:15px;letter-spacing:2px}.sf-ethos figcaption{margin-top:40px;color:inherit}.sf-ethos figcaption h3{font-size:19px;font-weight:500;margin:0 0 16px}.sf-ethos figcaption p{font-size:15px;line-height:2;max-width:38em;margin:0}.sf-business-domains>.sf-ethos{border-bottom:1px solid #666;margin-bottom:80px}@media(max-width:640px){.sf-ethos-grid{grid-template-columns:1fr;gap:64px}.sf-ethos figcaption{margin-top:24px}.sf-ethos{padding:64px 0}.sf-ethos svg text{font-size:20px}}

.sf-business-domains>.sf-ethos{width:calc(100% - 96px);max-width:1320px;margin-left:auto;margin-right:auto}@media(max-width:640px){.sf-business-domains>.sf-ethos{width:calc(100% - 48px)}}

/* Sunset films: labels occupy their own clear space; connectors end outside it. */
.sf-connection-root{text-align:center;font-size:36px;padding:0 20px 48px}.sf-connection-root span,.sf-signal-origin span{display:block;font-size:14px;letter-spacing:.08em;margin-top:18px}.sf-connection-columns,.sf-approach-flow{display:grid;grid-template-columns:repeat(3,1fr);gap:48px}.sf-connection-columns article{position:relative;padding:48px 0 0;border-top:1px solid #aaa}.sf-connection-columns article:before{content:'';position:absolute;height:28px;width:1px;background:#aaa;left:50%;top:-28px}.sf-connection-columns h3{font-size:clamp(21px,2vw,30px);font-weight:500;margin:24px 0 8px}.sf-connection-columns p{font-size:14px;line-height:2.2}.sf-diagram-index{color:#cf9969;font-size:13px}.sf-diagram-jp{color:#ccc}.sf-approach-flow article{border-top:1px solid #aaa;padding:32px 0}.sf-approach-flow article>span{font-size:12px;letter-spacing:.1em;color:#ccc}.sf-approach-flow h3{font-size:28px;font-weight:500;margin:24px 0}.sf-approach-flow p,.sf-diagram-note{font-size:15px;line-height:2}.sf-diagram-note{max-width:680px;margin:48px 0 0}.sf-home-connection{max-width:1320px;width:calc(100% - 96px);margin:100px auto 140px}.sf-home-connection h2{font-size:clamp(32px,4vw,60px);font-weight:500;line-height:1.5}.sf-home-signal{display:grid;grid-template-columns:1fr 1.2fr;gap:90px;align-items:center;margin:72px 0 40px}.sf-signal-origin{font-size:clamp(32px,4vw,56px);letter-spacing:-.04em}.sf-signal-fields{border-left:1px solid #888;padding:8px 0 8px 40px}.sf-signal-fields>div{position:relative;padding:18px 0 18px 28px}.sf-signal-fields>div:before{content:'';position:absolute;width:40px;left:-40px;top:36px;border-top:1px solid #888}.sf-signal-fields strong{display:block;font-size:25px;font-weight:500;letter-spacing:.06em}.sf-signal-fields span{display:block;font-size:14px;margin-top:8px;color:#ccc}.sf-connection-link{display:inline-block;border-bottom:1px solid #888;padding:16px 0;font-size:15px}@media(max-width:700px){.sf-connection-columns,.sf-approach-flow{grid-template-columns:1fr;gap:44px}.sf-home-connection{width:calc(100% - 48px);margin:64px auto 80px}.sf-home-signal{grid-template-columns:1fr;gap:40px;margin-top:40px}.sf-connection-root{text-align:left;font-size:30px}.sf-connection-columns article{padding-top:24px}.sf-signal-fields{padding-left:24px}.sf-signal-fields>div:before{width:24px;left:-24px}.sf-signal-fields>div{padding-left:20px}}

.sf-signal-origin{border:1px solid #aaa;border-radius:50%;aspect-ratio:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;font-size:clamp(28px,3.5vw,48px);padding:32px;box-sizing:border-box}.sf-signal-origin span{line-height:1.9;letter-spacing:.03em}.sf-signal-fields span{line-height:2}.sf-home-signal{grid-template-columns:minmax(240px,.8fr) minmax(0,1.2fr);gap:clamp(48px,7vw,100px)}@media(max-width:700px){.sf-home-signal{grid-template-columns:1fr}.sf-signal-origin{max-width:320px;width:100%;margin:auto}}
/* Touch-first related links: readable before any interaction. */
body.sf-home .sf-rel>a{background:#292929!important;color:#fafafa!important;border:1px solid #777;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:28px 30px;min-height:88px;box-sizing:border-box}
body.sf-home .sf-rel>a .n{color:#fafafa!important;opacity:1!important;font-size:21px;line-height:1.5}
body.sf-home .sf-rel>a .u{color:#c9c9c9!important;opacity:1!important;font-size:14px;line-height:1.5;overflow-wrap:anywhere}
body.sf-home .sf-rel>a:focus-visible{outline:2px solid #e0a579;outline-offset:4px}
@media(hover:hover) and (pointer:fine){body.sf-home .sf-rel>a:hover{background:#343434!important;border-color:#e0a579}body.sf-home .sf-rel>a:hover .n{color:#e0a579!important}}
@media(max-width:700px){body.sf-home .sf-rel{display:grid;grid-template-columns:1fr;gap:14px}body.sf-home .sf-rel>a{align-items:flex-start;flex-direction:column;gap:10px;padding:22px 20px;min-height:104px}body.sf-home .sf-rel>a .n{font-size:20px}body.sf-home .sf-rel>a .u{font-size:13px}}
@media(hover:none),(pointer:coarse){body.sf-home .sf-rel>a:hover{background:#292929!important;border-color:#777;transform:none}body.sf-home .sf-rel>a:hover .n{color:#fafafa!important}body.sf-home .sf-rel>a{transition:none}}

.sf-company-diagrams{padding:64px 0}.sf-company-diagrams>header h2{font-size:clamp(28px,3vw,46px);font-weight:500;line-height:1.6}.sf-atlas-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(36px,6vw,90px);margin-top:56px}.sf-company-diagrams figure{margin:0;min-width:0}.sf-company-diagrams svg{display:block;width:100%;height:auto;overflow:visible}.sf-company-diagrams svg text{font:500 17px Arial,'Hiragino Kaku Gothic ProN',sans-serif;letter-spacing:.3px}.sf-company-diagrams svg text.jp{font-size:15px}.sf-company-diagrams svg text.sub{font-size:11px;letter-spacing:.3px}.sf-company-diagrams figcaption{margin:28px 0 0}.sf-company-diagrams figcaption h3{font-size:18px;line-height:1.8;font-weight:500}.sf-company-diagrams figcaption p{font-size:14px;line-height:2;max-width:42em}.sf-company-diagrams .sf-atlas-process{margin-top:96px}.sf-home-connection .sf-company-diagrams>header{display:none}.sf-home-signal[hidden]{display:none!important}@media(max-width:700px){.sf-atlas-grid{grid-template-columns:1fr;gap:56px;margin-top:32px}.sf-company-diagrams{padding:32px 0}.sf-company-diagrams .sf-atlas-process{overflow-x:auto;padding-bottom:12px;margin-top:56px}.sf-atlas-process svg{min-width:660px}.sf-atlas-process figcaption{position:sticky;left:0}}

.sf-process-mobile{display:none}@media(max-width:700px){.sf-atlas-process>svg{display:none}.sf-process-mobile{display:block}.sf-process-mobile h4{font-size:15px;margin:32px 0 24px;font-weight:500}.sf-process-mobile>div{display:flex;align-items:center;justify-content:space-between;gap:22px}.sf-process-mobile span{position:relative;display:flex;align-items:center;justify-content:center;border:1px solid #aaa;border-radius:50%;aspect-ratio:1;width:calc((100% - 44px)/3);font-size:12px;white-space:nowrap}.sf-process-mobile span+span:before{content:'';position:absolute;left:-19px;top:50%;width:15px;border-top:1px solid #aaa}.sf-company-diagrams .sf-atlas-process{overflow:visible}}
.sf-company-diagrams .sf-draw-line{stroke-dasharray:1;stroke-dashoffset:0}
.sf-diagram-arrived .sf-draw-line{animation:sf-diagram-draw 1.5s ease both;animation-delay:var(--draw-delay)}
.sf-diagram-traveller{offset-distance:0%;animation:sf-diagram-travel 5s linear infinite;animation-play-state:paused;opacity:0}
.sf-diagram-visible .sf-diagram-traveller{animation-play-state:running}
@keyframes sf-diagram-draw{from{stroke-dashoffset:1;opacity:.15}to{stroke-dashoffset:0;opacity:1}}
@keyframes sf-diagram-travel{0%{offset-distance:0%;opacity:0}10%,85%{opacity:.8}100%{offset-distance:100%;opacity:0}}
.sf-analog-off .sf-company-diagrams .sf-draw-line{animation:none!important;stroke-dashoffset:0!important}
.sf-analog-off .sf-diagram-traveller{display:none;animation:none}
@media(prefers-reduced-motion:reduce){.sf-company-diagrams .sf-draw-line{animation:none!important;stroke-dashoffset:0!important}.sf-diagram-traveller{display:none;animation:none}}

body.sf-home .sf-rel>a{flex-direction:column;align-items:flex-start;justify-content:space-between;gap:28px;padding:32px;min-height:190px}body.sf-home .sf-rel>a .n{display:flex;width:100%;height:84px;align-items:center}body.sf-home .sf-rel .sf-related-logo{display:block;max-width:100%;width:220px;height:76px;object-fit:contain;object-position:left center;filter:brightness(0) invert(1)}body.sf-home .sf-rel>a .u{font-size:13px}@media(max-width:700px){body.sf-home .sf-rel>a{padding:24px;min-height:162px;gap:20px}body.sf-home .sf-rel>a .n{height:66px}body.sf-home .sf-rel .sf-related-logo{width:210px;height:64px}}
body.sf-home .sf-rel>a .n{height:112px;justify-content:center}body.sf-home .sf-rel .sf-related-logo{width:260px;height:108px;object-position:center}body.sf-home .sf-rel>a{min-height:220px}body.sf-home .sf-rel>a .u{align-self:center}@media(max-width:700px){body.sf-home .sf-rel>a .n{height:108px}body.sf-home .sf-rel .sf-related-logo{height:104px;width:250px}body.sf-home .sf-rel>a{min-height:200px}}

.sf-company-editorial{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:clamp(36px,7vw,110px);align-items:center;color:#fafafa!important;text-decoration:none}.sf-company-editorial figure{margin:0}.sf-company-editorial figure img{display:block;width:100%;height:auto;aspect-ratio:1.4;object-fit:cover}.sf-company-editorial-copy h3{font-size:clamp(30px,3.6vw,56px);font-weight:500;line-height:1.45;letter-spacing:.015em;margin:24px 0 28px}.sf-company-editorial-copy>p:not(.sf-eyebrow){font-size:15px;line-height:2.1;color:#ccc}.sf-company-editorial-link{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #aaa;padding:24px 0 16px;margin-top:26px;max-width:260px;font-size:16px}.sf-company-editorial-link>span{font-size:28px}.sf-company-editorial:focus-visible{outline:2px solid #e0a579;outline-offset:8px}@media(hover:hover) and (pointer:fine){.sf-company-editorial:hover .sf-company-editorial-link{color:#e0a579;border-color:#e0a579}}@media(max-width:700px){.sf-company-editorial{grid-template-columns:1fr;gap:32px}.sf-company-editorial figure img{aspect-ratio:1.5}.sf-company-editorial-copy h3{font-size:34px;line-height:1.5;margin:18px 0 24px}.sf-company-editorial-copy>p:not(.sf-eyebrow){font-size:14px}.sf-company-editorial-link{max-width:none;margin-top:20px}}

.sf-office-company{display:grid;grid-template-columns:1fr 1fr;gap:48px 64px;align-items:center}.sf-office-company figure{margin:0}.sf-office-company figure img{display:block;width:100%;aspect-ratio:1.6;object-fit:cover}.sf-office-address h3{font-size:clamp(24px,2.4vw,36px);font-weight:500;margin:20px 0 24px}.sf-office-address address{font-style:normal;font-size:18px;line-height:1.9;margin-bottom:16px}.sf-office-address>a{font-size:18px}.sf-office-actions{display:flex;flex-wrap:wrap;gap:24px;margin-top:32px}.sf-office-actions a{font-size:14px;border-bottom:1px solid #888;padding-bottom:12px}.sf-office-map{grid-column:1/-1;background:#202020;overflow:hidden}.sf-office-map iframe{display:block;filter:grayscale(1) invert(.92) contrast(.9);width:100%;height:380px}@media(max-width:700px){.sf-office-company{grid-template-columns:1fr;gap:28px}.sf-office-address address{font-size:16px}.sf-office-map iframe{height:300px}.sf-office-actions{gap:20px}}

.sf-creative-lab{grid-column:1/-1;margin:24px 0}.sf-creative-lab h3{font-size:32px;font-weight:500;margin:12px 0 28px}.sf-lab-photos{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.sf-office-company .sf-lab-photos img{aspect-ratio:1.35;object-fit:cover}.sf-ignition-brand-logo{display:block;width:min(100%,340px);height:100px;object-fit:contain;object-position:left center;filter:brightness(0) invert(1);margin-bottom:28px}.sf-ignition-intro{font-size:16px;line-height:2;margin:0 0 28px}@media(max-width:700px){.sf-lab-photos{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.sf-creative-lab h3{font-size:28px}.sf-ignition-brand-logo{height:80px}}

/* Equal business-card rhythm; logo replaces heading, never adds a second introduction. */
.sf-home .sf-service-cards{align-items:stretch}.sf-home .sf-domain{display:flex;flex-direction:column}.sf-home .sf-domain-info{flex:1;display:flex}.sf-home .sf-domain-info>div{display:flex;flex-direction:column;width:100%}.sf-home .sf-domain-heading{min-height:142px;display:flex;flex-direction:column;justify-content:flex-start}.sf-home .sf-domain-heading .sf-eyebrow{margin:0 0 24px}.sf-home .sf-domain-heading h3{margin:0!important;font-size:clamp(23px,2.1vw,34px);line-height:1.5;letter-spacing:.015em}.sf-home .sf-domain-logo-title .sf-ignition-brand-logo{margin:0;width:100%;max-width:340px;height:56px;object-position:left center}.sf-home .sf-domain-catch{margin:0 0 28px!important;min-height:3.6em;font-size:16px;line-height:1.8}.sf-home .sf-domain-description{margin:0 0 36px!important;font-size:15px;line-height:2}.sf-home .sf-domain-link{margin-top:auto!important;padding-top:24px!important}.sf-domain-logo-title .sf-ignition-brand-logo{margin:0}@media(max-width:700px){.sf-home .sf-domain-heading{min-height:0;margin-bottom:24px}.sf-home .sf-domain-catch{min-height:0}.sf-home .sf-domain-heading h3{font-size:26px}.sf-home .sf-domain-logo-title .sf-ignition-brand-logo{height:58px}}
body.sf-home.sf-wordpress .sf-service-cards .sf-domain-info{display:flex;flex:1}body.sf-home.sf-wordpress .sf-service-cards .sf-domain-info>div{flex:1}body.sf-home .sf-service-cards .sf-domain-link{height:54px;box-sizing:border-box;line-height:24px;padding-bottom:0!important}

.sf-ignition-series-list{margin:80px 0}.sf-ignition-series-list>header{max-width:720px;margin-bottom:64px}.sf-series-detail{display:grid;grid-template-columns:1.15fr 1fr;gap:56px;align-items:center;padding:48px 0;border-top:1px solid #666}.sf-series-detail figure{margin:0}.sf-series-detail figure img{width:100%;aspect-ratio:1.3;object-fit:cover;display:block}.sf-series-detail h3{margin:0 0 24px!important}.sf-series-logo{width:100%;max-width:300px;height:100px;object-fit:contain;object-position:left center;filter:brightness(0) invert(1)}.sf-series-detail h4{font-size:23px;font-weight:500;line-height:1.7;margin:24px 0 16px}.sf-series-detail p{font-size:15px;line-height:2}.sf-series-place{color:#ccc;font-size:13px!important}.sf-series-detail a{display:inline-block;margin-top:24px;padding-bottom:10px;border-bottom:1px solid #888;font-size:14px}.sf-series-season{font-size:13px;color:#ccc}@media(max-width:700px){.sf-series-detail{grid-template-columns:1fr;gap:28px;padding:32px 0}.sf-series-logo{height:90px}.sf-series-detail h4{font-size:22px}.sf-ignition-series-list{margin:56px 0}.sf-series-detail p{font-size:14px}}
body.sf-wordpress .sf-channel-copy .sf-series-detail h3 img.sf-series-logo{display:block;width:100%!important;max-width:280px!important;height:110px!important;aspect-ratio:auto!important;object-fit:contain!important;object-position:left center!important;margin:0!important}body.sf-wordpress .sf-series-detail h3{height:110px!important;min-height:0!important;overflow:visible!important}

/* Business relationship, 2026-09-08 */
.sf-business-map{display:grid;grid-template-columns:1.15fr 1fr;gap:7vw;align-items:center}.sf-business-map figure{margin:0;min-width:0}.sf-business-map svg{display:block;width:100%;height:auto;overflow:visible}.sf-business-map figcaption{text-align:center;font-size:18px;letter-spacing:.08em;margin-top:24px}.sf-business-map-copy article{padding:30px 0;border-bottom:1px solid #ffffff30}.sf-business-map-copy small{color:#c8956f;font-size:12px;letter-spacing:.12em}.sf-business-map-copy h3{font-size:clamp(20px,1.6vw,28px)!important;margin:18px 0!important;line-height:1.6}.sf-business-map-copy p{font-size:16px!important;line-height:2!important;margin:0!important;letter-spacing:.03em!important}.sf-business-map-copy article:first-child{padding-top:0}@media(max-width:760px){.sf-business-map{grid-template-columns:1fr;gap:48px}.sf-business-map svg{width:100%}.sf-business-map figcaption{font-size:15px}.sf-business-map-copy article{padding:26px 0}.sf-business-map-copy p{font-size:15px!important}}

.sf-brochure-intro{max-width:1100px;margin:100px auto 70px}.sf-brochure-scope{font-size:14px!important;line-height:2!important;color:#bdbbb7;max-width:740px}.sf-brochure-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:64px 32px;margin:0 auto 100px;max-width:1500px}.sf-brochure-gallery figure{margin:0;min-width:0}.sf-brochure-gallery figure:nth-child(5n+1){grid-column:1/-1}.sf-brochure-gallery img{display:block;width:100%;height:auto;max-height:1000px;object-fit:contain}.sf-brochure-gallery figcaption{font-size:12px;line-height:1.8;letter-spacing:.02em;color:#bab8b4;margin-top:14px}.sf-case-summary p{max-width:900px;line-height:2}.sf-brochure-gallery figure:nth-child(5n+1) img{max-height:850px}@media(max-width:700px){.sf-brochure-gallery{grid-template-columns:1fr;gap:36px;margin-bottom:64px}.sf-brochure-intro{margin:50px 0 36px}.sf-brochure-gallery figcaption{font-size:11px}}

/* Works: preserve full artwork without oversized portrait images. */
.sf-case-cover{max-width:1100px;margin:0 auto 64px}.sf-case-cover img{width:auto!important;max-width:100%;height:auto!important;max-height:min(640px,72vh)!important;margin:auto;object-fit:contain}
.sf-brochure-gallery{max-width:1100px;gap:48px 32px;align-items:start}.sf-brochure-gallery figure{display:flex;flex-direction:column;align-items:center}.sf-brochure-gallery img{width:auto!important;max-width:100%!important;height:auto!important;max-height:440px!important;object-fit:contain}.sf-brochure-gallery figure:nth-child(5n+1) img{max-height:600px!important}.sf-brochure-gallery figcaption{width:100%;max-width:720px;text-align:left}.sf-case-images img,.sf-case-body img{width:auto!important;max-width:100%;max-height:640px;height:auto!important;object-fit:contain;margin-left:auto;margin-right:auto}.sf-grid .ph{aspect-ratio:16/10;background:#252525}.sf-grid .ph img{width:100%!important;height:100%!important;object-fit:cover}
@media(max-width:700px){.sf-case-cover{margin-bottom:36px}.sf-case-cover img{max-height:440px!important}.sf-brochure-gallery{gap:32px}.sf-brochure-gallery img,.sf-brochure-gallery figure:nth-child(5n+1) img{max-height:420px!important}.sf-case-images img,.sf-case-body img{max-height:420px}.sf-brochure-intro{margin:36px 0}.sf-brochure-gallery figcaption{font-size:11px;line-height:1.7}}

.sf-cms-gallery figure:nth-child(n){grid-column:auto}.sf-cms-gallery figure.is-wide{grid-column:1/-1}.sf-cms-gallery figure:nth-child(n) img{max-height:440px!important}.sf-cms-gallery figure.is-wide img{max-height:600px!important}@media(max-width:700px){.sf-cms-gallery figure.is-wide img{max-height:420px!important}}

.sf-archive .sf-card img{display:block;width:100%;height:auto!important;aspect-ratio:16/10;object-fit:cover}

/* Project archive: image-led, quiet captions, editorial scale. */
.sf-content.sf-works-index{width:min(1440px,92vw);margin:90px auto 100px}.sf-works-opening{display:flex;justify-content:space-between;align-items:flex-end;gap:40px;padding-bottom:64px}.sf-works-opening h1{font-family:inherit!important;font-size:clamp(70px,11vw,164px)!important;line-height:.95!important;font-weight:500!important;letter-spacing:-.065em!important;margin:24px 0 0!important}.sf-works-opening h1 span{display:block;font-size:13px;letter-spacing:.15em;margin-top:26px}.sf-works-opening>p{font-size:15px;line-height:2.2;letter-spacing:.06em;margin:0 0 4px;max-width:340px}.sf-works-bar{display:flex;justify-content:space-between;border-top:1px solid #ffffff45;padding-top:20px;font-size:10px;letter-spacing:.15em;color:#b9b6b0}.sf-works-collection{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:80px 40px;margin-top:48px}.sf-work-tile{grid-column:span 6;min-width:0}.sf-work-tile:nth-child(6n+1){grid-column:span 7}.sf-work-tile:nth-child(6n+2){grid-column:span 5;padding-top:110px}.sf-work-tile a{display:block;text-decoration:none;color:inherit}.sf-work-tile figure{position:relative;margin:0;overflow:hidden;aspect-ratio:3/2;background:#202020}.sf-work-tile figure img{display:block;width:100%!important;height:100%!important;object-fit:cover;transition:transform .65s ease}.sf-work-caption{display:flex;justify-content:space-between;gap:20px;align-items:center;padding:20px 0 0}.sf-work-caption p{font-size:10px;color:#bd9a80;letter-spacing:.12em;margin:0 0 8px}.sf-wordpress .sf-work-caption h2{font-family:inherit!important;font-size:clamp(18px,1.7vw,25px)!important;line-height:1.5!important;font-weight:500!important;letter-spacing:.01em!important;margin:0!important}.sf-work-caption>span{font-size:24px;font-weight:300}.sf-work-open{position:absolute;right:20px;bottom:20px;border:1px solid #ffffff90;background:#2228;border-radius:50%;width:48px;height:48px;display:grid;place-items:center;font-size:24px;opacity:0;transition:opacity .2s}.sf-work-tile a:focus-visible{outline:2px solid #d8a078;outline-offset:8px}.sf-works-contact{margin-top:120px;border-top:1px solid #ffffff45;padding:48px 0;display:flex;justify-content:space-between;align-items:center;gap:24px}.sf-works-contact p{font-size:20px}.sf-works-contact a{font-size:clamp(28px,4vw,54px);text-decoration:none;letter-spacing:-.03em}.sf-works-contact a span{margin-left:35px}@media(hover:hover) and (pointer:fine){.sf-work-tile a:hover figure img{transform:scale(1.025)}.sf-work-tile a:hover .sf-work-open{opacity:1}html:not(.sf-analog-off) .sf-work-tile a:hover figure img{animation:sf-photo-tune 280ms steps(1,end) 1}}@media(max-width:760px){.sf-content.sf-works-index{width:88vw;margin-top:55px}.sf-works-opening{display:block;padding-bottom:36px}.sf-works-opening h1{font-size:76px!important}.sf-works-opening>p{font-size:13px;margin-top:30px}.sf-works-collection{grid-template-columns:1fr;gap:42px;margin-top:30px}.sf-work-tile:nth-child(n){grid-column:1;padding-top:0}.sf-work-caption{padding-top:14px}.sf-works-contact{margin-top:70px;display:block;padding:32px 0}.sf-works-contact p{font-size:16px}.sf-works-contact a{display:block;margin-top:24px}.sf-work-open{display:none}}

/* お客様の声（2026-09-10 追加）: Works の部品を流用し、分類ナビと本文だけ足す */
.sf-voice-cats{display:flex;flex-wrap:wrap;gap:8px 14px;margin:0 0 28px;font-size:13px;letter-spacing:.06em}
.sf-voice-cats a{color:inherit;text-decoration:none;opacity:.6;padding:6px 0;border-bottom:1px solid transparent}
.sf-voice-cats a[aria-current="page"],.sf-voice-cats a:hover{opacity:1;border-bottom-color:currentColor}
.sf-voice-single .sf-voice-head{max-width:820px;margin:0 auto 32px}
.sf-voice-single h1{font-size:clamp(24px,3.2vw,40px);line-height:1.35;margin:8px 0 16px}
.sf-voice-name{display:flex;align-items:center;gap:12px;font-size:14px;opacity:.85}
.sf-voice-logo{height:28px;width:auto;max-width:120px;object-fit:contain}
.sf-voice-hero img,.sf-voice-figure img{display:block;width:100%;height:auto;max-height:600px;object-fit:contain;background:#111}
.sf-voice-hero,.sf-voice-figure,.sf-voice-summary,.sf-voice-text,.sf-voice-video{max-width:1100px;margin:0 auto 28px}
.sf-voice-figure.is-half{max-width:720px}
.sf-voice-video{position:relative;aspect-ratio:16/9;width:100%}
.sf-voice-video iframe{aspect-ratio:16/9;height:auto}.sf-voice-video iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.sf-voice-back{text-align:center;margin:40px 0}
@media (max-width:767px){.sf-voice-hero img,.sf-voice-figure img{max-height:420px}}

/* 2026-09-10 現行HPの旧本文（長いURL・表・埋め込み）と記事カードの抜粋がSPで横にはみ出さないように */
.sf-case-legacy,.sf-case-body,.sf-prose,.sf-card p,.sf-voice-text,.sf-voice-summary{overflow-wrap:anywhere;word-break:break-word;min-width:0}
.sf-case-legacy img,.sf-case-body img,.sf-prose img,.sf-case-legacy iframe,.sf-case-body iframe{max-width:100%;height:auto}
.sf-case-legacy table,.sf-case-body table{display:block;max-width:100%;overflow-x:auto}
.sf-case-legacy{margin-top:2.5rem}

/* 2026-09-10 複製で実データを見て調整：声のロゴは小さく横並び、問い合わせフォームは同意欄を送信の上に */
.sf-voice-name{display:flex;align-items:center;gap:.75em;flex-wrap:wrap}
.sf-voice-name .sf-voice-logo{max-height:44px;max-width:160px;width:auto;height:auto;object-fit:contain;flex:0 0 auto}
.sf-voice-name span{flex:1 1 12em;min-width:0}
.sf-voice-figure img,.sf-voice-hero img{max-width:100%;height:auto}
.sf-contact-form .wpcf7-form{display:flex;flex-direction:column}
.sf-contact-form .wpcf7-form>*{order:1}
.sf-contact-form .wpcf7-form>p:has(input[type="submit"]),.sf-contact-form .wpcf7-form>.wpcf7-response-output{order:9}
.sf-contact-form .wpcf7-form input[type="submit"]{margin-top:1.2rem}
.sf-prose textarea,.sf-prose input,.sf-case-body textarea,.sf-case-body input{max-width:100%;box-sizing:border-box}

/* 2026-09-10 井埜さん：Worksの題だけ大きい → 他ページ（CONTACT等）と同じ尺度に。右の導入文がはみ出さないように */
.sf-works-opening h1{font-size:clamp(48px,7vw,96px)!important;letter-spacing:-.04em!important;line-height:1.05!important}
.sf-works-opening{align-items:flex-end;flex-wrap:wrap}
.sf-works-opening>p{flex:0 1 340px;min-width:0}
@media (max-width:700px){.sf-works-opening h1{font-size:clamp(40px,12vw,56px)!important}}

/* 2026-09-10 新HP用フォーム（CF7）と、お客様の声の一覧（言葉が主役の段組み） */
.sf-contact-form .sf-form{display:flex;flex-direction:column;gap:28px}
.sf-contact-form .sf-form-row{display:flex;flex-direction:column;gap:10px}
.sf-contact-form .sf-form-row label,.sf-contact-form .sf-form-label{font-size:13px;letter-spacing:.08em;opacity:.85}
.sf-contact-form .sf-form-row.is-required label::after{content:"必須";font-size:10px;letter-spacing:.1em;margin-left:10px;padding:2px 6px;border:1px solid currentColor;opacity:.8}
.sf-contact-form input[type=text],.sf-contact-form input[type=email],.sf-contact-form input[type=tel],.sf-contact-form textarea{width:100%;box-sizing:border-box;background:rgba(255,255,255,.06);color:inherit;border:1px solid rgba(255,255,255,.22);border-radius:0;padding:14px 16px;font-size:15px;line-height:1.6}
.sf-contact-form input:focus,.sf-contact-form textarea:focus{outline:none;border-color:rgba(255,255,255,.7);background:rgba(255,255,255,.09)}
.sf-contact-form textarea{min-height:180px}
.sf-contact-form .wpcf7-radio{display:flex;flex-wrap:wrap;gap:10px 18px}
.sf-contact-form .wpcf7-list-item{margin:0}
.sf-contact-form .wpcf7-list-item label{display:inline-flex;align-items:center;gap:8px;font-size:14px;cursor:pointer}
.sf-contact-form .sf-form-consent{font-size:14px}
.sf-contact-form .sf-form-consent a{text-decoration:underline}
.sf-contact-form .sf-form-submit .sf-contact-action{display:inline-block;padding:16px 40px;border:1px solid currentColor;background:transparent;color:inherit;font-size:14px;letter-spacing:.12em;cursor:pointer;transition:background .3s,color .3s}
.sf-contact-form .sf-form-submit .sf-contact-action:hover{background:#fff;color:#151515}
.sf-contact-form .wpcf7-not-valid-tip{font-size:12px;color:#ffb3a7;margin-top:6px}
.sf-contact-form .wpcf7-response-output{margin:20px 0 0;padding:14px 16px;border:1px solid rgba(255,255,255,.3);font-size:14px}
.sf-contact-form .wpcf7-spinner{margin-left:12px}
.sf-voice-index .sf-voice-collection{display:flex;flex-direction:column;gap:72px}
.sf-voice-index .sf-voice-tile{width:100%}
.sf-voice-index .sf-voice-tile>a{display:grid;grid-template-columns:5fr 7fr;gap:40px;align-items:center;text-decoration:none;color:inherit}
.sf-voice-index .sf-voice-tile:nth-child(even)>a{grid-template-columns:7fr 5fr}
.sf-voice-index .sf-voice-tile:nth-child(even)>a figure{order:2}
.sf-voice-index .sf-voice-tile figure{margin:0;overflow:hidden;background:#222;aspect-ratio:4/3}
.sf-voice-index .sf-voice-tile figure img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .8s cubic-bezier(.16,1,.3,1)}
.sf-voice-index .sf-voice-tile a:hover figure img{transform:scale(1.04)}
.sf-voice-index .sf-voice-tile .sf-work-caption{display:flex;flex-direction:column;gap:14px;padding:0 4px}
.sf-voice-index .sf-voice-tile .sf-work-caption .sf-eyebrow{font-size:11px;letter-spacing:.12em;opacity:.6}
.sf-voice-index .sf-voice-tile .sf-work-caption h2{font-size:clamp(22px,2.2vw,32px);line-height:1.5;font-weight:500;margin:0;letter-spacing:.02em}
.sf-voice-index .sf-voice-tile .sf-work-caption p{font-size:13px;opacity:.8;margin:0;letter-spacing:.06em}
.sf-voice-index .sf-voice-tile .sf-work-caption p::before{content:"— "}
@media (max-width:700px){.sf-voice-index .sf-voice-collection{gap:48px}.sf-voice-index .sf-voice-tile>a,.sf-voice-index .sf-voice-tile:nth-child(even)>a{grid-template-columns:1fr;gap:16px}.sf-voice-index .sf-voice-tile:nth-child(even)>a figure{order:0}.sf-contact-form .wpcf7-radio{flex-direction:column;gap:8px}}
/* 送信ボタン：既存の .sf-contact-action（リンク用）の装飾に負けないよう input 用を別に定義 */
.sf-contact-form .sf-form-submit input.wpcf7-submit{display:inline-block!important;opacity:1!important;visibility:visible!important;width:auto;min-width:200px;padding:16px 40px;border:1px solid rgba(255,255,255,.7);background:transparent!important;color:#fff!important;margin:0;font-size:14px;letter-spacing:.14em;cursor:pointer;border-radius:0;-webkit-appearance:none;appearance:none;transition:background .3s,color .3s}
.sf-contact-form .sf-form-submit input.wpcf7-submit:hover{background:#fff!important;color:#151515!important}
.sf-contact-form .sf-form-submit input.wpcf7-submit[disabled]{opacity:.45!important;cursor:not-allowed}
.sf-contact-form .sf-form-submit{margin-top:8px}

/* VHS受信の出現（vhs-reveal.js）。上から走査線が下りて像が定着し、赤/シアンの色ズレが収束する */
html.sf-js .sf-vhs{clip-path:inset(0 0 100% 0);opacity:.001;will-change:clip-path,filter,opacity}
html.sf-js .sf-vhs.is-revealed{animation:sfVhsIn .72s cubic-bezier(.2,.8,.2,1) forwards;animation-delay:var(--sf-vhs-delay,0ms)}
@keyframes sfVhsIn{0%{clip-path:inset(0 0 100% 0);opacity:.001;transform:translateY(10px)}
 35%{opacity:1;clip-path:inset(0 0 45% 0);transform:translateY(4px)}
 70%{clip-path:inset(0 0 0 0);transform:translateY(0)}
 100%{clip-path:inset(0 0 0 0);filter:none;opacity:1;transform:none}}
html.sf-analog-off .sf-vhs,body.sf-analog-off .sf-vhs,.sf-analog-off .sf-vhs{clip-path:none!important;filter:none!important;opacity:1!important;animation:none!important;transform:none!important}
@media (prefers-reduced-motion:reduce){html.sf-js .sf-vhs{clip-path:none;filter:none;opacity:1;animation:none!important;transform:none}}
/* PowerGlitch の包み要素が figure の中で崩れないように */
.sf-work-tile figure>div,.sf-voice-tile figure>div,.sf-grid .ph>div,.sf-editorial-card .ph>div,.sf-scroll .ph>div{width:100%;height:100%;display:block}
.sf-work-tile figure>div img,.sf-voice-tile figure>div img{width:100%;height:100%;object-fit:cover}
html.lenis,html.lenis body{height:auto}.lenis.lenis-smooth{scroll-behavior:auto!important}.lenis.lenis-stopped{overflow:hidden}

/* reCAPTCHA のバッジは隠し、代わりに規定の文言をフォーム下に出す（Google の規約どおり） */
.grecaptcha-badge{visibility:hidden!important}
.sf-recaptcha-note{font-size:11px;line-height:1.7;color:#9a9a9a;margin:18px 0 0}.sf-recaptcha-note a{color:inherit;text-decoration:underline}
/* スマホのハンバーガーメニュー（mobile-menu.js） */
.sf-burger{display:none;align-items:center;gap:9px;background:#00000000;border:1px solid #8a8a8a;color:#fff;font:700 11px "Courier New",Courier,monospace;letter-spacing:.16em;padding:0 12px;min-height:40px;cursor:pointer;border-radius:0;margin-left:auto}
.sf-burger .ic{width:18px;height:11px;position:relative;display:inline-block;border-top:2px solid currentColor;border-bottom:2px solid currentColor}
.sf-burger .ic::after{content:"";position:absolute;left:0;right:0;top:50%;height:2px;background:currentColor;transform:translateY(-50%)}
.sf-mobile-menu{position:fixed;inset:0;z-index:9500;background:#0f1012;display:none;flex-direction:column;justify-content:center;padding:72px 28px 40px;color:#fff;opacity:0;transform:translateY(-8px);transition:opacity .22s,transform .22s}
.sf-mobile-menu .kicker{font:700 10px "Courier New",Courier,monospace;letter-spacing:.2em;color:var(--sf-sun-3,#ff5f9e);margin:0 0 14px}
.sf-mobile-menu nav{display:flex;flex-direction:column}
.sf-mobile-menu nav a{display:flex;align-items:baseline;gap:16px;padding:15px 0;border-bottom:1px solid #2f3134;color:#fff;text-decoration:none;font-size:24px;font-weight:500;letter-spacing:.02em}
.sf-mobile-menu nav a small{font:700 11px "Courier New",Courier,monospace;letter-spacing:.14em;color:var(--sf-sun-3,#ff5f9e);min-width:48px}
.sf-mobile-menu nav a[aria-current="page"] span{text-decoration:underline;text-underline-offset:6px}
.sf-mobile-menu .talk{display:block;margin:28px 0 0;border:1px solid var(--sf-sun-3,#ff5f9e);color:#fff;text-decoration:none;text-align:center;padding:15px;font:700 13px "Courier New",Courier,monospace;letter-spacing:.18em;box-shadow:0 0 18px rgba(255,95,158,.25)}
.sf-mobile-menu .foot{margin:22px 0 0;font-size:11px;color:#8d8d8d;letter-spacing:.06em}
.sf-mobile-menu .close{position:absolute;top:16px;right:20px;width:44px;height:44px;border:1px solid #8a8a8a;background:none;color:#fff;font-size:26px;line-height:1;cursor:pointer;border-radius:0}
@media (max-width:700px){
  .sf-header nav{display:none!important}
  .sf-header{display:flex;flex-wrap:nowrap!important;justify-content:space-between;align-items:center;gap:12px}
  .sf-burger{display:inline-flex}
  .sf-mobile-menu{display:flex}
  html.sf-menu-open .sf-mobile-menu{opacity:1;transform:none}
  html:not(.sf-menu-open) .sf-mobile-menu{pointer-events:none;visibility:hidden}
  html.sf-menu-open{overflow:hidden}
  /* トップの固定メニューは最初から見える（動線） */
  .sf-header.sf-home-menu{opacity:1;visibility:visible;pointer-events:auto;transform:none}
  body:not(.sf-content-entered) .sf-header.sf-home-menu{background:#171918d9;border-color:#4b504b66}
}
@media (min-width:701px){
  /* PCもトップの固定メニューを最初から出す（薄い地色） */
  .sf-header.sf-home-menu{opacity:1;visibility:visible;pointer-events:auto;transform:none}
  body:not(.sf-content-entered) .sf-header.sf-home-menu{background:#171918cc;border-color:#4b504b55}
}
@media (pointer:coarse){html.sf-js .sf-vhs,html.sf-js .sf-vhs.is-revealed{filter:none!important}}

/* スマホ：ANALOG ON はヘッダー下の右（テレビの操作バーと重ねない） */
@media (max-width:700px){.sf-analog-toggle{bottom:auto!important;top:64px!important;left:auto!important;right:14px!important;min-height:30px;padding:5px 9px;font-size:9px;opacity:.85}}
/* 2026-09-10 井埜さん「analog onとかのボタンはもっと小さくていい」：固定の小ボタンは目立たせない */
.sf-analog-toggle{min-height:24px!important;padding:4px 8px!important;font-size:9px!important;letter-spacing:.06em!important;opacity:.72}
.sf-analog-toggle:hover,.sf-analog-toggle:focus-visible{opacity:1}
@media (max-width:700px){.sf-analog-toggle{min-height:22px!important;padding:3px 7px!important;font-size:8px!important;top:62px!important}}

/* 2026-09-10 井埜さん「テレビ画面の裏は薄く80sアーケードゲーム風に、Sunset filmsゲーム的な」：トップのテレビの裏を透かして、背景のアーケード面＋ゲームのHUD（retro-bg.js）を見せる */
body.sf-home .sf-portal,body.sf-home .sf-portal-paper,body.sf-home .sf-portal-pin{background:transparent!important}
body.sf-home .sf-portal-paper{background-image:radial-gradient(ellipse at 50% 62%,#00000088,transparent 55%)!important}

.sf-talk-cta{display:flex;flex-wrap:wrap;gap:10px 14px;align-items:center;margin:0 0 22px}.sf-talk-cta button{border:1px solid var(--sf-sun-3,#ff5f9e);background:none;color:#fff;font:700 12px "Courier New",Courier,monospace;letter-spacing:.14em;padding:12px 16px;border-radius:0;cursor:pointer;box-shadow:0 0 14px rgba(255,95,158,.25)}.sf-talk-cta span{font-size:12px;color:#bdbdbd}

/* 2026-09-10 井埜さん「これでかい」：本文（.sf-prose）の画像は元の大きさより大きくしない */
body.sf-wordpress .sf-prose img,body.sf-article .sf-prose img{width:auto!important;max-width:100%!important;height:auto!important}
body.sf-wordpress .sf-prose img[width]{max-width:min(100%,attr(width px))}

/* 2026-09-10 井埜さん「バランスわる！」：関連サイトのロゴは全部同じ箱（260×108）に収める */
body.sf-home .sf-rel .sf-related-logo{width:260px!important;height:108px!important;max-width:100%!important;object-fit:contain!important;object-position:center!important}
@media (max-width:700px){body.sf-home .sf-rel .sf-related-logo{width:220px!important;height:96px!important}}

.sf-contact-note{font-size:12px;line-height:1.8;color:#bdbdbd;margin:14px 0 0}.sf-contact-note a{color:inherit;text-decoration:underline;margin-left:8px}

/* スマホ：右下に小さなネオンの LET'S TALK（2026-09-10 井埜さん「contactではなく lets talk みたいなネオンボタン」）。小さく・見出しに重ねない・ピンクの細線と淡い光だけ */
.sf-contact-fab{display:none}
@media (max-width:700px){.sf-contact-fab{display:inline-flex;align-items:center;position:fixed;right:14px;bottom:16px;z-index:85;height:40px;padding:0 16px;border-radius:20px;background:rgba(16,17,19,.9);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid var(--sf-sun-3,#ff5f9e);color:#fff;text-decoration:none;font:700 10px "Courier New",Courier,monospace;letter-spacing:.2em;box-shadow:0 0 0 1px rgba(255,95,158,.25),0 0 14px rgba(255,95,158,.35),0 6px 18px rgba(0,0,0,.35);text-shadow:0 0 6px rgba(255,95,158,.6)}body.sf-wordpress .sf-footer{padding-bottom:84px}html.sf-menu-open .sf-contact-fab,html.sf-talk-open .sf-contact-fab{display:none}}

/* Business：Creative ROOM の節（細い線・短い文・図） */
.sf-system{max-width:1160px;margin:0 auto;padding:70px 6vw 90px;border-top:1px solid #4b4b4b}
.sf-system>header h2{font-size:28px!important;line-height:1.7;margin:18px 0 22px}
.sf-system-lead{max-width:640px;font-size:15px;line-height:2;color:#cfcfcf;margin:0 0 44px}
.sf-system-flow{list-style:none;margin:0 0 48px;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:0;border:1px solid #6a6a6a}
.sf-system-flow li{position:relative;padding:22px 20px 24px;border-right:1px solid #6a6a6a;display:flex;flex-direction:column;gap:8px}
.sf-system-flow li:last-child{border-right:0}
.sf-system-flow li::after{content:"→";position:absolute;right:-9px;top:22px;font-size:14px;color:var(--sf-sun-3,#ff5f9e);background:#262626;padding:0 2px;z-index:1}
.sf-system-flow li:last-child::after{content:none}
.sf-system-flow small{font:700 10px "Courier New",Courier,monospace;letter-spacing:.2em;color:var(--sf-sun-3,#ff5f9e)}
.sf-system-flow strong{font-size:20px;font-weight:500;letter-spacing:.04em}
.sf-system-flow span{font-size:12.5px;line-height:1.8;color:#bdbdbd}
.sf-system-points article h3{font-size:16px;margin:0 0 10px}.sf-system-points article p{font-size:13.5px;line-height:1.9;color:#cfcfcf;margin:0}
.sf-system-note{margin:40px 0 0;font-size:12px;letter-spacing:.06em;color:#9a9a9a}
@media (max-width:700px){.sf-system{padding:52px 24px 64px}.sf-system-flow{grid-template-columns:1fr 1fr}.sf-system-flow li{border-bottom:1px solid #6a6a6a}.sf-system-flow li:nth-child(even){border-right:0}.sf-system-flow li:nth-last-child(-n+2){border-bottom:0}.sf-system-flow li::after{content:none}}

/* 2026-09-10 井埜さん「analog on とハンバーガーが当たってる」：スマホでは ANALOG ON を左下の小さな丸みピルに（CONTACT と対の作法） */
@media (max-width:700px){.sf-analog-toggle{top:auto!important;bottom:16px!important;left:14px!important;right:auto!important;min-height:0!important;height:32px;padding:0 12px!important;border-radius:16px!important;background:rgba(20,21,22,.86)!important;border:1px solid rgba(255,255,255,.22)!important;color:#ddd!important;font:600 9px "Inter",Arial,sans-serif!important;letter-spacing:.16em!important;opacity:.9}html.sf-menu-open .sf-analog-toggle,html.sf-talk-open .sf-analog-toggle{display:none!important}}

.sf-system-shot{margin:0 0 44px}.sf-system-shot img{display:block;width:100%;height:auto;border:1px solid #4b4b4b;border-radius:6px;box-shadow:0 20px 50px rgba(0,0,0,.45)}.sf-system-shot figcaption{margin-top:12px;font-size:12px;color:#9a9a9a;letter-spacing:.04em}

.sf-system-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin:0 0 44px}.sf-system-gallery figure{margin:0}.sf-system-gallery img{display:block;width:100%;height:auto;border:1px solid #4b4b4b;border-radius:6px}.sf-system-gallery figcaption{margin-top:10px;font-size:12px;line-height:1.8;color:#bdbdbd}
.sf-brand-creative .sf-system{max-width:none;padding-left:0;padding-right:0}
@media (max-width:700px){.sf-system-gallery{grid-template-columns:1fr}}

/* Business のサブメニュー（PC：ホバー／キーボード） */
.sf-nav-item{position:relative;display:inline-block}.sf-nav-item>a{display:inline-block}
.sf-sub{position:absolute;left:-14px;top:calc(100% + 10px);min-width:260px;background:#171918f5;border:1px solid #4b504b;padding:8px 0;opacity:0;visibility:hidden;transform:translateY(-4px);transition:opacity .18s,transform .18s,visibility .18s;z-index:90}
.sf-sub::before{content:"";position:absolute;left:0;right:0;top:-12px;height:12px}
.sf-nav-item:hover .sf-sub,.sf-nav-item:focus-within .sf-sub{opacity:1;visibility:visible;transform:none}
.sf-sub a.sf-sub-link{display:flex;flex-direction:column;gap:2px;padding:10px 18px;color:#fff;text-decoration:none;font-size:13px;letter-spacing:.04em}
.sf-sub a.sf-sub-link small{font:700 9px "Courier New",Courier,monospace;letter-spacing:.18em;color:var(--sf-sun-3,#ff5f9e)}
.sf-sub a.sf-sub-link:hover{background:#222522}
.sf-sub a.sf-sub-link::after{content:none!important}
@media (hover:none){.sf-nav-item:hover .sf-sub{opacity:0;visibility:hidden}}
/* お問い合わせページの電話（チャットの下に小さく） */
.sf-contact-phone-mini{margin:26px 0 0;padding:18px 0 0;border-top:1px solid #4b4b4b;display:flex;flex-wrap:wrap;gap:8px 28px;align-items:baseline}
.sf-contact-phone-mini .sf-eyebrow{margin:0}.sf-contact-phone-mini a.tel{font-size:26px;letter-spacing:.06em;color:#fff;text-decoration:none;font-family:"Courier New",Courier,monospace}.sf-contact-phone-mini p{margin:0;font-size:12px;color:#bdbdbd;width:100%}

.sf-mobile-menu nav a.sub{padding:9px 0 9px 26px;font-size:16px;border-bottom:1px solid #222427}.sf-mobile-menu nav a.sub small{font-size:9px;min-width:0;color:#8d8d8d}

/* 関連サイト一覧：大きな箱をやめ、細い罫線の6列ストリップに（2026-09-10 井埜さん「ここの一覧汚い」） */
body.sf-home .sf-rel{display:grid!important;grid-template-columns:repeat(6,1fr)!important;gap:0 28px!important}
body.sf-home .sf-rel>a{display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:flex-start!important;gap:14px!important;padding:26px 0 22px!important;min-height:0!important;border:0!important;border-top:1px solid #4b4b4b!important;background:transparent!important;box-shadow:none!important;transition:border-color .25s}
body.sf-home .sf-rel>a:hover{border-top-color:var(--sf-sun-3,#ff5f9e)!important;background:transparent!important}
body.sf-home .sf-rel>a .n{height:56px!important;width:100%!important;display:flex!important;align-items:center!important;justify-content:center!important}
body.sf-home .sf-rel .sf-related-logo{width:100%!important;max-width:150px!important;height:56px!important;object-fit:contain!important;object-position:center!important;filter:brightness(0) invert(1)!important;opacity:.92}
body.sf-home .sf-rel>a .u{font:10px "Inter",Arial,sans-serif!important;letter-spacing:.08em!important;color:#9a9a9a!important;align-self:center!important;text-align:center}
@media (max-width:1100px){body.sf-home .sf-rel{grid-template-columns:repeat(3,1fr)!important}}
@media (max-width:700px){body.sf-home .sf-rel{grid-template-columns:repeat(2,1fr)!important;gap:0 18px!important}body.sf-home .sf-rel>a{padding:20px 0 18px!important;gap:10px!important}body.sf-home .sf-rel .sf-related-logo{max-width:120px!important;height:44px!important}body.sf-home .sf-rel>a .n{height:44px!important}}

/* 会社案内の写真（2026-09-10 井埜さん「会社案内の中に結構写真あったのにあんまりなくなってる」）：誌面のように大小・段違いで組む。等間隔の格子にしない */
.sf-about-mosaic,.sf-about-scenes,.sf-about-office{padding:40px 0 90px}.sf-about-mosaic header,.sf-about-scenes header,.sf-about-office header{margin-bottom:44px}.sf-about-mosaic h2,.sf-about-scenes h2,.sf-about-office h2{font-size:28px!important;line-height:1.8;margin:14px 0 0}
.sf-about-mosaic ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(6,1fr);gap:28px 24px;align-items:start}.sf-about-mosaic li a{display:block;color:inherit;text-decoration:none}.sf-about-mosaic img{width:100%;height:auto;display:block;aspect-ratio:16/10;object-fit:cover;filter:saturate(.92)}.sf-about-mosaic span{display:block;font:10px/1 "Inter",sans-serif;letter-spacing:.18em;color:#bdb3a2;margin-top:10px}
.sf-about-mosaic .m1{grid-column:1/5}.sf-about-mosaic .m2{grid-column:5/7;margin-top:120px}.sf-about-mosaic .m3{grid-column:1/3;margin-top:10px}.sf-about-mosaic .m4{grid-column:3/7}.sf-about-mosaic .m5{grid-column:1/4;margin-top:40px}.sf-about-mosaic .m6{grid-column:4/7;margin-top:-30px}.sf-about-mosaic .m7{grid-column:2/6;margin-top:30px}
.sf-about-scenes ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:22px;align-items:end}.sf-about-scenes li figure{margin:0}.sf-about-scenes li img{width:100%;height:auto;display:block;object-fit:cover}.sf-about-scenes li.p img{aspect-ratio:2/3}.sf-about-scenes li.l{grid-column:span 2}.sf-about-scenes li.l img{aspect-ratio:3/2}.sf-about-scenes li:nth-child(2){margin-bottom:70px}
.sf-about-office-lead{font-size:14px;line-height:2;color:#cfc7b8;margin:14px 0 0}.sf-office-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}.sf-office-grid figure{margin:0}.sf-office-grid img{width:100%;height:auto;display:block;aspect-ratio:16/10;object-fit:cover}.sf-office-grid .o-main{grid-column:1/-1}.sf-office-grid .o-main img{aspect-ratio:16/9}.sf-office-grid figcaption{font:10px/1.6 "Inter",sans-serif;letter-spacing:.16em;color:#bdb3a2;margin-top:10px}
.sf-about-recruit{display:grid;grid-template-columns:1.2fr 1fr;gap:6%;align-items:center;padding:20px 0 90px;border-top:1px solid #4b4b4b;margin-top:10px;padding-top:60px}.sf-about-recruit figure{margin:0}.sf-about-recruit img{width:100%;height:auto;display:block;aspect-ratio:4/5;object-fit:cover;object-position:center 40%}.sf-about-recruit h2{font-size:26px!important;line-height:1.8;margin:14px 0 18px}.sf-about-recruit p{font-size:14px;line-height:2}.sf-about-recruit a{display:inline-block;margin-top:14px;padding-bottom:12px;border-bottom:1px solid #aaa}
@media(max-width:700px){.sf-about-mosaic,.sf-about-scenes,.sf-about-office{padding:20px 0 50px}.sf-about-mosaic header,.sf-about-scenes header,.sf-about-office header{margin-bottom:26px}.sf-about-mosaic h2,.sf-about-scenes h2,.sf-about-office h2,.sf-about-recruit h2{font-size:21px!important}
.sf-about-mosaic ul{grid-template-columns:1fr 1fr;gap:18px 14px}.sf-about-mosaic li{margin:0!important}.sf-about-mosaic .m1,.sf-about-mosaic .m4,.sf-about-mosaic .m7{grid-column:1/-1}.sf-about-mosaic .m2,.sf-about-mosaic .m3,.sf-about-mosaic .m5,.sf-about-mosaic .m6{grid-column:auto}
.sf-about-scenes ul{grid-template-columns:1fr 1fr;gap:12px}.sf-about-scenes li{margin:0!important}.sf-about-scenes li.l{grid-column:1/-1}
.sf-office-grid{grid-template-columns:1fr 1fr;gap:14px}.sf-about-recruit{grid-template-columns:1fr;gap:22px;padding:40px 0 50px}}

/* 会社案内の先頭：人が写った写真4枚のスライド（クロスフェード・1枚5秒）。動きを減らす設定では1枚目だけ（2026-09-10 井埜さん「人が出てる写真をスライドで3-4枚」） */
.sf-about-slides{position:relative;aspect-ratio:21/9;max-height:460px;overflow:hidden;background:#1a1720}.sf-about-slides img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;animation:sfSlide 20s infinite}.sf-about-slides img:nth-child(1){animation-delay:0s}.sf-about-slides img:nth-child(2){animation-delay:5s}.sf-about-slides img:nth-child(3){animation-delay:10s}.sf-about-slides img:nth-child(4){animation-delay:15s}
@keyframes sfSlide{0%{opacity:0}5%{opacity:1}25%{opacity:1}32%{opacity:0}100%{opacity:0}}
/* 1枚目は読み込み直後から見える（最初の1秒が真っ黒にならないように） */
@keyframes sfSlideFirst{0%{opacity:1}25%{opacity:1}32%{opacity:0}94%{opacity:0}100%{opacity:1}}
.sf-about-slides img:nth-child(1){animation-name:sfSlideFirst}
@media(prefers-reduced-motion:reduce){.sf-about-slides img{animation:none}.sf-about-slides img:first-child{opacity:1}}
@media(max-width:700px){.sf-about-slides{aspect-ratio:4/3;max-height:none}}

/* ON LOCATION：WHAT WE DO と同じ段違いの組み。写真は原寸比率、キャプションは小さく */
.sf-about-location figure{margin:0}.sf-about-location img{aspect-ratio:auto!important;filter:none!important}.sf-about-location figcaption{font:10px/1.6 "Inter",sans-serif;letter-spacing:.14em;color:#bdb3a2;margin-top:10px}

.sf-recruit-days{padding:20px 0 60px}.sf-team-cover{margin-top:40px}

/* 採用ページ：オフィス写真3枚の静かな列（2026-09-10「こういうの（ロケ写真の段）いらないかも」） */
.sf-recruit-row{list-style:none;margin:20px 0 40px;padding:0;display:grid;grid-template-columns:1fr 1.6fr 1fr;gap:22px;align-items:end}.sf-recruit-row figure{margin:0}.sf-recruit-row img{width:100%;height:auto;display:block;aspect-ratio:3/4;object-fit:cover}.sf-recruit-row li:nth-child(2) img{aspect-ratio:3/2}
@media(max-width:700px){.sf-recruit-row{grid-template-columns:1fr 1fr;gap:12px}.sf-recruit-row li:nth-child(2){grid-column:1/-1}}

/* 会社案内 MUSIC LABEL：秀吉の写真（ホール全幅＋2枚） */
.sf-about-label{padding:40px 0 90px}.sf-about-label header{margin-bottom:44px}.sf-about-label h2{font-size:28px!important;line-height:1.8;margin:14px 0 0}.sf-about-label figure{margin:0}.sf-about-label img{width:100%;height:auto;display:block}.sf-about-label figcaption{font:10px/1.6 "Inter",sans-serif;letter-spacing:.16em;color:#bdb3a2;margin-top:10px}.sf-about-label .l-hall img{aspect-ratio:16/9;object-fit:cover}.sf-about-label .l-pair{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:22px}.sf-about-label .l-pair img{aspect-ratio:3/2;object-fit:cover}
@media(max-width:700px){.sf-about-label{padding:20px 0 50px}.sf-about-label h2{font-size:21px!important}.sf-about-label .l-pair{grid-template-columns:1fr;gap:12px;margin-top:12px}}

/* スマホで「↓ 実績・事業を見る」を押した後、実績の段にブラウザのフォーカス枠（青い線）が残る → 消す（2026-09-10 井埜さん「モバイルにこれ残ってる」） */
.sf-sec:focus,.sf-sec:focus-visible,[tabindex="-1"]:focus{outline:none!important;box-shadow:none!important}
/* CLIENT：ロゴ31個を同じ枠（360×150）に揃え、上段は左へ・下段は右へゆっくり流す。ホバーで止まる。動きを減らす設定では並べるだけ */
body.sf-home .sf-client{overflow:hidden}.sf-client-rows{display:grid;gap:18px;margin-top:10px}.sf-client-track{overflow:hidden;position:relative;-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}.sf-client-track{display:flex;width:max-content}.sf-client-track ul{list-style:none;margin:0;padding:0;display:flex;gap:18px;padding-right:18px;flex:none;animation:sfClientLeft 70s linear infinite}.sf-client-track.is-right ul{animation-name:sfClientRight;animation-duration:80s}/* 2026-09-10 井埜さん「背景いらない、白の」→「色はないとダメ、クライアントの」：ロゴは元の色のまま。カードは敷かず、CLIENT の段だけ白地にする *//* 2026-09-10 井埜さん「なんでここ白？」「カーソル合わせて止まるのやだ」「ロゴもっと小さく」→ 黒地のまま・止めない・小さく。色のあるロゴは元の色、黒や紺の単色ロゴだけ白抜き */.sf-client-track li{flex:none;width:150px;height:56px;display:flex;align-items:center;justify-content:center}.sf-client-track img{width:120px;height:44px;object-fit:contain;display:block;filter:none!important}
@keyframes sfClientLeft{from{transform:translateX(0)}to{transform:translateX(-100%)}}@keyframes sfClientRight{from{transform:translateX(-100%)}to{transform:translateX(0)}}
@media(prefers-reduced-motion:reduce){.sf-client-track ul{animation:none}.sf-client-track ul[aria-hidden]{display:none}.sf-client-track{width:100%;mask-image:none;-webkit-mask-image:none}.sf-client-track ul{flex-wrap:wrap}}
@media(max-width:700px){.sf-client-track li{width:110px;height:44px}.sf-client-track img{width:92px;height:34px}.sf-client-track ul{gap:12px;padding-right:12px;animation-duration:50s}.sf-client-track.is-right ul{animation-duration:58s}}

/* ブランドクリエイティブ 5部門ページ（2026-09-10）：文章量多め・表と図で説明。図は会社案内の細線の作法 */
.sf-bc-units{margin:10px 0 40px}.sf-bc-units .sf-eyebrow{display:block;margin-bottom:12px}.sf-bc-units ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(5,1fr);gap:0 18px;border-top:1px solid #4b4b4b}.sf-bc-units li a{display:block;padding:16px 0;border-bottom:1px solid #3a3a3a;color:#ddd6c8;text-decoration:none;font-size:15px;line-height:1.5;transition:color .2s}.sf-bc-units li a small{display:block;font:10px/1 "Inter",sans-serif;letter-spacing:.16em;color:#9e9585;margin-bottom:8px}.sf-bc-units li[aria-current] a{color:#fff;border-bottom-color:var(--sf-sun-3,#ff5f9e)}.sf-bc-units li a:hover{color:#fff}.sf-bc-units.is-bottom{margin:60px 0 40px}.sf-bc-units.is-bottom ul{grid-template-columns:repeat(5,1fr)}
.sf-bc-answer{display:grid;grid-template-columns:1.1fr 1fr;gap:8%;padding:30px 0 80px}.sf-bc-lead{font-size:22px;line-height:2;margin:0;font-weight:500}.sf-bc-intro p{font-size:15px;line-height:2.1;margin:0 0 18px}
.sf-bc-scope,.sf-bc-flow,.sf-bc-diagram,.sf-bc-reasons{padding:45px 0 85px}.sf-bc-scope header,.sf-bc-flow header,.sf-bc-diagram header,.sf-bc-reasons header{margin-bottom:34px}.sf-bc-scope h2,.sf-bc-flow h2,.sf-bc-diagram h2,.sf-bc-reasons h2{font-size:28px!important;line-height:1.8;margin:12px 0 0}
.sf-bc-table{width:100%;border-collapse:collapse;border-top:1px solid #777}.sf-bc-table th,.sf-bc-table td{border-bottom:1px solid #444;padding:22px 0;vertical-align:top;text-align:left;font-weight:400}.sf-bc-table th{width:220px;font-size:17px;color:#fff;padding-right:30px}.sf-bc-table td{font-size:14.5px;line-height:2;color:#d9d3c6}
.sf-bc-figure{margin:0 0 30px;color:#e6e0d3}.sf-bc-svg{width:100%;height:auto;display:block}.sf-bc-svg text{font-family:"Inter","Hiragino Sans",sans-serif;font-size:14px}.sf-bc-svg text.num{font-size:11px;letter-spacing:.12em;fill:#f1a071}.sf-bc-svg text.jp{font-size:15px}.sf-bc-svg text.jp.big{font-size:18px}.sf-bc-svg text.sub{font-size:11px;letter-spacing:.14em;fill:#9e9585}
.sf-bc-steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(5,1fr);gap:28px}.sf-bc-steps li{border-top:1px solid #777;padding-top:18px}.sf-bc-steps li>span{font-size:22px;color:#e6a275}.sf-bc-steps h3{font-size:17px;margin:12px 0 10px}.sf-bc-steps p{font-size:13.5px;line-height:1.9;margin:0;color:#cfc8ba}
.sf-bc-diagram-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:6%;align-items:center}.sf-bc-diagram-grid .sf-bc-figure{margin:0;max-width:560px}.sf-bc-diagram-grid p{font-size:15px;line-height:2.1;margin:0}.sf-bc-figure.is-flow2{max-width:none}
.sf-bc-more{margin:30px 0 0}.sf-bc-more a{border-bottom:1px solid #aaa;padding-bottom:8px}
.sf-bc-cta{border-top:1px solid #4b4b4b;padding:70px 0 40px;text-align:left}.sf-bc-cta h2{font-size:30px!important;margin:12px 0 14px}.sf-bc-cta p{font-size:15px;line-height:2;max-width:640px}.sf-bc-cta-btn{display:inline-block;margin-top:18px;padding:14px 26px;border:1px solid var(--sf-sun-3,#ff5f9e);border-radius:999px;color:#fff;text-decoration:none;font:12px/1 "Courier New",monospace;letter-spacing:.14em}.sf-bc-cta-btn:hover{background:var(--sf-sun-3,#ff5f9e);color:#111}
.sf-bc-unit .sf-brand-faq article{border-top:1px solid #444;padding:22px 0}.sf-bc-unit .sf-brand-faq h3{font-size:17px;margin:0 0 10px}.sf-bc-unit .sf-brand-faq p{font-size:14.5px;line-height:2;margin:0;color:#d9d3c6}
@media(max-width:900px){.sf-bc-units ul{grid-template-columns:repeat(3,1fr)}.sf-bc-steps{grid-template-columns:repeat(3,1fr)}}
@media(max-width:700px){.sf-bc-units ul,.sf-bc-units.is-bottom ul{grid-template-columns:1fr 1fr;gap:0 12px}.sf-bc-units li a{font-size:14px;padding:12px 0}.sf-bc-answer{grid-template-columns:1fr;gap:20px;padding:10px 0 50px}.sf-bc-lead{font-size:18px;line-height:1.9}.sf-bc-intro p{font-size:14px}.sf-bc-scope,.sf-bc-flow,.sf-bc-diagram,.sf-bc-reasons{padding:25px 0 50px}.sf-bc-scope h2,.sf-bc-flow h2,.sf-bc-diagram h2,.sf-bc-reasons h2{font-size:21px!important}.sf-bc-table th,.sf-bc-table td{display:block;width:auto;padding:0}.sf-bc-table th{padding-top:18px;font-size:16px}.sf-bc-table td{padding:8px 0 18px;font-size:14px}.sf-bc-table tr{display:block;border-bottom:1px solid #444}.sf-bc-table th,.sf-bc-table td{border:0}.sf-bc-figure{overflow-x:auto}.sf-bc-figure .sf-bc-svg{min-width:560px}.sf-bc-figure.is-hub .sf-bc-svg,.sf-bc-figure.is-loop .sf-bc-svg{min-width:0}.sf-bc-steps{grid-template-columns:1fr;gap:14px}.sf-bc-diagram-grid{grid-template-columns:1fr;gap:20px}.sf-bc-cta h2{font-size:23px!important}}

/* CLIENT の見せ方（2026-09-10 井埜さん「見せ方を考えて、いい感じのアニメーション」）：画面に入ったらロゴが1つずつ下から浮き上がり（45msずつ）、そのあと流れ始める。ホバーでロゴが少し持ち上がり、下に社名が出る */
.sf-client-track ul{animation-play-state:paused}.sf-client.is-in .sf-client-track ul{animation-play-state:running}
.sf-client-track li{position:relative;opacity:0;transform:translateY(18px) scale(.96);transition:opacity .55s ease,transform .7s cubic-bezier(.2,.8,.2,1)}.sf-client.is-in .sf-client-track li{opacity:1;transform:none}
.sf-client-track img{transition:transform .35s cubic-bezier(.2,.8,.2,1),filter .35s}.sf-client-track li:hover img{transform:translateY(-2px)}
.sf-client-track li::after{content:attr(data-name);position:absolute;left:50%;bottom:-6px;transform:translate(-50%,6px);font:9px/1 "Inter","Hiragino Sans",sans-serif;letter-spacing:.12em;color:#9e9585;white-space:nowrap;opacity:0;transition:opacity .3s,transform .3s;pointer-events:none}.sf-client-track li:hover::after{opacity:1;transform:translate(-50%,0)}

@media(prefers-reduced-motion:reduce){.sf-client-track li{opacity:1;transform:none;transition:none}.sf-client-track li:hover img{transform:none}}
/* プライバシーポリシー・サイトマップ */
.sf-legal-body{max-width:820px;font-size:15px;line-height:2.1}.sf-legal-body h2{font-size:20px!important;margin:50px 0 14px;padding-top:18px;border-top:1px solid #4b4b4b}.sf-legal-body h3{font-size:16px;margin:26px 0 8px}.sf-legal-body p,.sf-legal-body li{color:#d9d3c6}.sf-legal-body ul{padding-left:1.4em}.sf-legal-body .sf-legal-date{font-size:13px;color:#9e9585;margin-top:40px}
.sf-sitemap-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px 8%}.sf-sitemap-grid h2{font-size:20px!important;border-top:1px solid #4b4b4b;padding-top:16px;margin:0 0 12px}.sf-sitemap-grid ul{list-style:none;margin:0;padding:0}.sf-sitemap-grid li{padding:9px 0;border-bottom:1px solid #333;font-size:15px}.sf-sitemap-grid li.sub{padding-left:1.2em;font-size:14px}.sf-sitemap-grid li.sub::before{content:"— ";color:#7c7669}.sf-sitemap-grid a{color:#e8e2d5;text-decoration:none}.sf-sitemap-grid a:hover{color:#fff;border-bottom:1px solid #aaa}.sf-sitemap-xml{margin:50px 0 0;font-size:13px;color:#9e9585}.sf-sitemap-xml a{color:#cfc8ba}
@media(max-width:700px){.sf-sitemap-grid{grid-template-columns:1fr;gap:26px}.sf-legal-body{font-size:14px}}

/* 5部門の大見出し：英語を大きく、日本語は小さく（「カタカナ中心がダサい」） */
.sf-bc-opening h1{display:flex;flex-direction:column;gap:14px}.sf-bc-opening h1 .en{font-size:clamp(44px,7vw,96px);line-height:1;letter-spacing:.01em}.sf-bc-opening h1 .jp{font-size:clamp(15px,1.3vw,19px);font-weight:400;letter-spacing:.14em;color:#d9d3c6}

/* ブランディング：向き不向き・3段の図（2026-09-10 井埜さん「核が決まることで接点の指針が作れる強みを伝えたい。映像やチラシだけ急ぐ人は向かない」） */
.sf-bc-fit{padding:20px 0 70px}.sf-bc-fit header{margin-bottom:30px}.sf-bc-fit h2{font-size:28px!important;line-height:1.8;margin:12px 0 0}.sf-bc-fit-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px}.sf-bc-fit-grid>div{border-top:1px solid #777;padding-top:20px}.sf-bc-fit-grid h3{font-size:17px;margin:0 0 14px}.sf-bc-fit-grid .is-unfit h3{color:#bdb3a2}.sf-bc-fit-grid ul{list-style:none;margin:0;padding:0}.sf-bc-fit-grid li{font-size:14.5px;line-height:1.9;padding:8px 0 8px 22px;position:relative;border-bottom:1px solid #333;color:#e2dccf}.sf-bc-fit-grid li::before{content:"○";position:absolute;left:0;color:var(--sf-sun-3,#ff5f9e);font-size:12px;top:11px}.sf-bc-fit-grid .is-unfit li::before{content:"×";color:#8a8478}.sf-bc-fit-grid .is-unfit li{color:#bdb3a2}.sf-bc-fit-grid .is-unfit p{font-size:13px;line-height:1.9;color:#9e9585;margin:14px 0 0}
.sf-bc-diagram-grid.is-wide{grid-template-columns:1fr}.sf-bc-diagram-grid.is-wide .sf-bc-figure{max-width:none}.sf-bc-diagram-grid.is-wide p{max-width:760px}.sf-bc-svg text.sub2{font-size:12px;fill:#bdb3a2}.sf-bc-svg text.small{font-size:12px;fill:#cfc8ba}
@media(max-width:700px){.sf-bc-fit{padding:10px 0 40px}.sf-bc-fit h2{font-size:21px!important}.sf-bc-fit-grid{grid-template-columns:1fr;gap:20px}.sf-bc-figure.is-stages .sf-bc-svg{min-width:720px}}

/* ブランドとブランディングの違い（2026-09-10 井埜さん「ブランドとブランディングの違いも伝えられるといい」） */
.sf-bc-compare{padding:10px 0 70px}.sf-bc-compare header{margin-bottom:30px}.sf-bc-compare h2{font-size:28px!important;line-height:1.8;margin:12px 0 0}.sf-bc-compare-grid{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:60px}.sf-bc-compare-grid article{border:1px solid #555;border-radius:6px;padding:28px 28px 24px;position:relative}.sf-bc-compare-grid article.is-ing{border-color:var(--sf-sun-3,#ff5f9e)}.sf-bc-compare-grid h3{font-size:22px;margin:0 0 14px}.sf-bc-compare-grid p{font-size:14.5px;line-height:2;margin:0 0 14px;color:#e2dccf}.sf-bc-compare-grid small{display:block;font-size:12px;line-height:1.8;color:#9e9585;border-top:1px solid #444;padding-top:12px}.sf-bc-compare-arrow{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font-size:26px;color:#bdb3a2}.sf-bc-compare-note{font-size:15px;line-height:2;margin:26px 0 0;max-width:760px}
@media(max-width:700px){.sf-bc-compare{padding:0 0 40px}.sf-bc-compare h2{font-size:21px!important}.sf-bc-compare-grid{grid-template-columns:1fr;gap:18px}.sf-bc-compare-grid article{padding:20px}.sf-bc-compare-arrow{position:static;transform:none;text-align:center;display:block;order:1}}

.sf-bc-figure.is-stages .sf-bc-svg text.jp.big{font-size:16px}

/* OUR STANCE（デザイン・映像・Web・広告の共通）：コンセプトを捉えてから作る＋受賞歴。ブランディングの話はブランディングのページに寄せる（2026-09-10「ブランディングのところに色々混じっちゃってる」） */
.sf-bc-stance{padding:10px 0 70px}.sf-bc-stance header{margin-bottom:26px}.sf-bc-stance h2{font-size:28px!important;line-height:1.8;margin:12px 0 0}.sf-bc-stance-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:8%;border-top:1px solid #777;padding-top:26px}.sf-bc-stance-grid p{font-size:15px;line-height:2.1;margin:0 0 14px}.sf-bc-stance-grid ul{list-style:none;margin:0 0 18px;padding:0}.sf-bc-stance-grid li{font-size:13.5px;line-height:1.9;padding:7px 0;border-bottom:1px solid #333;color:#d9d3c6}.sf-bc-stance-grid a{border-bottom:1px solid #aaa;padding-bottom:6px;font-size:14px}
@media(max-width:700px){.sf-bc-stance{padding:0 0 40px}.sf-bc-stance h2{font-size:21px!important}.sf-bc-stance-grid{grid-template-columns:1fr;gap:16px}}

/* 5部門ページの序盤の写真（2026-09-10 井埜さん「序盤にも写真とか欲しい」）：大1＋小2の段違い */
.sf-bc-photos{display:grid;grid-template-columns:2fr 1fr;grid-template-rows:auto auto;gap:22px;margin:10px 0 50px}.sf-bc-photos figure{margin:0}.sf-bc-photos img{width:100%;height:100%;display:block;object-fit:cover;aspect-ratio:16/10}.sf-bc-photos .p1{grid-row:1/3}.sf-bc-photos .p1 img{aspect-ratio:auto;height:100%}.sf-bc-photos .p2 img,.sf-bc-photos .p3 img{aspect-ratio:3/2}
@media(max-width:700px){.sf-bc-photos{grid-template-columns:1fr 1fr;gap:12px;margin:0 0 30px}.sf-bc-photos .p1{grid-column:1/-1;grid-row:auto}.sf-bc-photos .p1 img{aspect-ratio:16/10;height:auto}}

.sf-bc-photos figure>div{height:100%}.sf-bc-photos .p1{grid-column:1;grid-row:1/3}.sf-bc-photos .p2{grid-column:2;grid-row:1}.sf-bc-photos .p3{grid-column:2;grid-row:2}
@media(max-width:700px){.sf-bc-photos .p1{grid-column:1/-1;grid-row:auto}.sf-bc-photos .p2,.sf-bc-photos .p3{grid-column:auto;grid-row:auto}}

/* 5部門ページの2つ目の写真列（会社案内の写真から。2026-09-10「会社案内からもっと写真とってこれる」） */
.sf-bc-photos-strip{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:22px;margin:0 0 50px;align-items:end}.sf-bc-photos-strip figure{margin:0}.sf-bc-photos-strip img{width:100%;height:auto;display:block;aspect-ratio:3/2;object-fit:cover}.sf-bc-photos-strip figure:nth-child(2){margin-bottom:40px}
@media(max-width:700px){.sf-bc-photos-strip{grid-template-columns:1fr 1fr;gap:12px;margin-bottom:30px}.sf-bc-photos-strip figure:first-child{grid-column:1/-1}.sf-bc-photos-strip figure{margin:0!important}}

/* 5部門ページの写真：3枚のスライド（クロスフェード・1枚5秒・15秒周期）。会社案内の先頭と同じ作法・同じ高さ */
.sf-bc-slides{position:relative;aspect-ratio:21/9;max-height:460px;overflow:hidden;background:#1a1720;margin:10px 0 50px}.sf-bc-slides img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;animation:sfSlide3 15s infinite}.sf-bc-slides img:nth-child(1){animation-name:sfSlide3First}.sf-bc-slides img:nth-child(2){animation-delay:5s}.sf-bc-slides img:nth-child(3){animation-delay:10s}
@keyframes sfSlide3{0%{opacity:0}7%{opacity:1}33%{opacity:1}42%{opacity:0}100%{opacity:0}}@keyframes sfSlide3First{0%{opacity:1}33%{opacity:1}42%{opacity:0}92%{opacity:0}100%{opacity:1}}
@media(prefers-reduced-motion:reduce){.sf-bc-slides img{animation:none}.sf-bc-slides img:first-child{opacity:1}}
@media(max-width:700px){.sf-bc-slides{aspect-ratio:4/3;max-height:none;margin:0 0 30px}}

/* 会社案内 AWARDS：年・賞・結果・対象を1行ずつ細い罫線で */
.sf-about-awards{padding:40px 0 90px}.sf-about-awards header{margin-bottom:34px}.sf-about-awards h2{font-size:28px!important;line-height:1.8;margin:14px 0 0}.sf-about-awards-lead{font-size:14px;line-height:2;color:#cfc7b8;margin:14px 0 0;max-width:640px}.sf-awards-list{list-style:none;margin:0;padding:0;border-top:1px solid #777}.sf-awards-list li{display:grid;grid-template-columns:80px 1.4fr 1fr 1fr;gap:20px;padding:18px 0;border-bottom:1px solid #444;font-size:14.5px;line-height:1.8;align-items:baseline}.sf-awards-list .y{color:#d7b395;font-size:18px}.sf-awards-list .n{color:#fff}.sf-awards-list .p{color:#f1a071}.sf-awards-list .w{color:#bdb3a2;font-size:13px}
@media(max-width:700px){.sf-about-awards{padding:20px 0 50px}.sf-about-awards h2{font-size:21px!important}.sf-awards-list li{grid-template-columns:60px 1fr;gap:4px 14px;font-size:13.5px}.sf-awards-list .p,.sf-awards-list .w{grid-column:2}}

/* CLIENT：ロゴの列の後ろに薄い曇りガラスの帯（2026-09-10 井埜さん「見えなすぎ、背景に薄い曇りガラスみたいな効果」）。ロゴごとの箱ではなく、列全体に1枚 */
.sf-client-rows{background:rgba(255,255,255,.13);-webkit-backdrop-filter:blur(16px) saturate(1.1);backdrop-filter:blur(16px) saturate(1.1);border:1px solid rgba(255,255,255,.12);border-radius:10px;padding:26px 0;gap:22px}.sf-client-track{-webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)}.sf-client-track li::after{color:#d9d3c6}
@media(max-width:700px){.sf-client-rows{padding:16px 0;gap:14px;border-radius:8px}}

/* 図の文字は図形の中心に（2026-09-10 井埜さん「図が文字とズレてる」）：縦の基準を中央に固定 */
.sf-bc-svg text{dominant-baseline:middle;text-anchor:middle}

/* 2026-09-10 井埜さん「（曇りガラスの帯）見にくい、ださい」→ 帯を外し、ロゴは元の色のまま。暗いロゴが黒地で読めるように、ロゴの形に沿った白い淡い光（drop-shadow）だけを付ける */
.sf-client-rows{background:none;-webkit-backdrop-filter:none;backdrop-filter:none;border:0;border-radius:0;padding:10px 0}
.sf-client-track img{filter:drop-shadow(0 0 1px rgba(255,255,255,.9)) drop-shadow(0 0 6px rgba(255,255,255,.35))!important}
/* 2026-09-10 井埜さん「ロゴ全体的にデカくない？20％小さく」：150×56→120×45 */.sf-client-track li{width:152px;height:56px}.sf-client-track img{width:120px;height:45px}
@media(max-width:700px){.sf-client-rows{padding:4px 0}.sf-client-track li{width:104px;height:42px}.sf-client-track img{width:86px;height:32px}}

/* CLIENT の段：8bit の景色をマジックアワーの明るさで敷く窓。ANALOG OFF の時は夕景のグラデーションだけ */
body.sf-home .sf-client{position:relative;background:linear-gradient(180deg,#3a1a44 0%,#7a3a5a 40%,#c8704a 75%,#e8a060 100%)!important;color:#fff;overflow:hidden}
.sf-client-bg{position:absolute;inset:0;width:100%;height:100%;display:block;pointer-events:none;image-rendering:pixelated}
body.sf-home .sf-client .sf-in{position:relative;z-index:1}
body.sf-home .sf-client .sf-en,body.sf-home .sf-client .sf-jp{color:#fff;text-shadow:0 1px 10px rgba(0,0,0,.45)}body.sf-home .sf-client .sf-rule{background:rgba(255,255,255,.35)!important}
.sf-client-track img{filter:drop-shadow(0 0 1px rgba(255,255,255,.9)) drop-shadow(0 2px 6px rgba(0,0,0,.35))!important}
.sf-client-track li::after{color:#fff}

/* 2026-09-10 井埜さん「クライアントのぼかしの領域がおかしい」→ 左右のフェード（mask）と白い光を外す。明るい景色の上なので、薄い影だけ */
.sf-client-track{-webkit-mask-image:none!important;mask-image:none!important}
.sf-client-track img{filter:drop-shadow(0 1px 2px rgba(0,0,0,.35))!important}

/* 2026-09-10 井埜さん「クライアントのロゴが薄いのもある」→ 半透明をやめて不透明100%。淡い色のロゴ（金・ベージュ）が明るい景色に溶けないよう、輪郭に細い黒い影 */
.sf-client.is-in .sf-client-track li{opacity:1}.sf-client-track img{opacity:1!important;filter:drop-shadow(0 0 1px rgba(0,0,0,.55)) drop-shadow(0 1px 3px rgba(0,0,0,.35))!important}

/* 2026-09-10 井埜さん「この領域もっと狭くていい」→ CLIENT の段の上下を詰める */
body.sf-home .sf-client{padding:34px 0 26px!important}body.sf-home .sf-client .sf-head{margin-bottom:0}body.sf-home .sf-client .sf-rule{margin:10px 0 14px!important}body.sf-home .sf-client .sf-en{font-size:clamp(34px,4vw,56px)!important}.sf-client-rows{padding:8px 0;gap:14px}.sf-client-track li{height:62px}
@media(max-width:700px){body.sf-home .sf-client{padding:26px 0 18px!important}.sf-client-rows{gap:8px}.sf-client-track li{height:40px}}

/* 2026-09-10 井埜さん「クライアントはしっかり左まで行くように」→ ロゴの列だけ画面幅いっぱい（見出しは本文幅のまま） */
.sf-client-rows{width:100vw;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);padding:8px 0}

/* 2026-09-10 井埜さん「ロゴにカーソルを合わせると上に動いて社名が出るのをやめたい」→ ホバーの動きと社名表示を無効に */
.sf-client-track li:hover img{transform:none!important}.sf-client-track li::after{display:none!important}.sf-client-track img{transition:none!important}

/* 2026-09-10 井埜さん「スマホのメニューがめちゃくちゃ使いにくい、動かない」：項目が増えて画面からはみ出し、スクロールもできなかった。上詰め＋縦スクロール＋行を詰めて1画面に収める */
@media (max-width:700px){.sf-mobile-menu{justify-content:flex-start;padding:64px 24px 28px;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}.sf-mobile-menu nav a{font-size:19px;padding:9px 0;gap:14px}.sf-mobile-menu nav a small{font-size:9px}.sf-mobile-menu nav a.sub{font-size:14px;padding:7px 0 7px 18px}.sf-mobile-menu nav a.sub small{font-size:8px;min-width:78px}.sf-mobile-menu .kicker{margin:0 0 6px}.sf-mobile-menu .talk{margin-top:14px}.sf-mobile-menu .foot{margin-top:12px}.sf-mobile-menu .close{top:12px;right:14px}}

/* Journal の分類帯（2026-09-10） */
.sf-journal-cats{display:flex;flex-wrap:wrap;gap:8px 10px;margin:6px 0 34px}.sf-journal-cats a{display:inline-flex;align-items:center;gap:7px;padding:7px 13px;border:1px solid #6a6a6a;border-radius:999px;color:#ddd;text-decoration:none;font-size:12px;letter-spacing:.06em;transition:border-color .2s,color .2s}.sf-journal-cats a small{font:700 9px "Courier New",Courier,monospace;color:#9a9a9a}.sf-journal-cats a[aria-current]{border-color:var(--sf-sun-3,#ff5f9e);color:#fff}.sf-journal-cats a[aria-current] small{color:var(--sf-sun-3,#ff5f9e)}
.sf-card .sf-card-cat{font-weight:600;color:var(--sf-sun-3,#ff5f9e);margin-left:8px;letter-spacing:.06em}
@media (max-width:700px){.sf-journal-cats{margin:4px 0 24px}.sf-journal-cats a{padding:6px 11px;font-size:11px}}

/* 写真枠の中にグリッチの入れ物（div>div>img）が入っても枠いっぱいに（2026-09-10） */
.sf-work-tile figure,.sf-voice-tile figure,.sf-grid .ph,.sf-editorial-card .ph{position:relative}.sf-work-tile figure>div,.sf-voice-tile figure>div,.sf-grid .ph>div,.sf-editorial-card .ph>div,.sf-work-tile figure>div>div,.sf-voice-tile figure>div>div,.sf-grid .ph>div>div,.sf-editorial-card .ph>div>div{position:absolute;inset:0;width:100%;height:100%;display:block!important}body.sf-wordpress .sf-work-tile figure>div img,body.sf-wordpress .sf-voice-tile figure>div img,body.sf-wordpress .sf-grid .ph>div img,body.sf-wordpress .sf-editorial-card .ph>div img{position:absolute;inset:0;width:100%!important;height:100%!important;object-fit:cover}

/* 部門ページの写真の帯と地域ブランディング（2026-09-10） */
.sf-bc-photos{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:-30px 0 70px}.sf-bc-photos figure{margin:0;position:relative;aspect-ratio:4/3;overflow:hidden;background:#1a1720}.sf-bc-photos figure>*,.sf-bc-photos figure>*>*,.sf-bc-photos img{position:absolute;inset:0;width:100%!important;height:100%!important;display:block!important}.sf-bc-photos img{object-fit:cover}
.sf-bc-wide{margin:-20px 0 70px;position:relative;aspect-ratio:21/9;max-height:460px;overflow:hidden;background:#1a1720}.sf-bc-wide>*,.sf-bc-wide>*>*,.sf-bc-wide img{position:absolute;inset:0;width:100%!important;height:100%!important;display:block!important}.sf-bc-wide img{object-fit:cover}
.sf-bc-regional{padding:20px 0 80px}.sf-bc-regional header{margin-bottom:26px}.sf-bc-regional h2{font-size:28px!important;line-height:1.8;margin:12px 0 0}.sf-bc-regional-lead{max-width:820px;margin:0 0 40px}.sf-bc-regional-lead p{font-size:15px;line-height:2.1;margin:0 0 18px}.sf-bc-regional .sf-bc-photos{margin:0 0 50px}.sf-bc-regional .sf-method-grid{margin-bottom:40px}
.sf-bc-regional-works{list-style:none;margin:0 0 24px;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.sf-bc-regional-works a{display:block;border-top:1px solid #777;padding:14px 0;color:#fff;text-decoration:none;font-size:15px}.sf-bc-regional-works small{display:block;font:700 9px "Courier New",Courier,monospace;letter-spacing:.16em;color:var(--sf-sun-3,#ff5f9e);margin-bottom:6px}.sf-bc-regional-note{font-size:13px;line-height:1.9;color:#bdb3a2;margin:0}
@media(max-width:700px){.sf-bc-photos{grid-template-columns:1fr 1fr 1fr;gap:6px;margin:-10px 0 40px}.sf-bc-wide{aspect-ratio:4/3;max-height:none;margin:0 0 40px}.sf-bc-regional{padding:10px 0 50px}.sf-bc-regional h2{font-size:21px!important}.sf-bc-regional-works{grid-template-columns:1fr;gap:0}}

/* 右下のピル2つ：JOURNAL ＋ LET'S TALK（2026-09-10）。ANALOG ON ボタンは廃止 */
.sf-fabs{display:none}.sf-analog-toggle{display:none!important}
@media (max-width:700px){.sf-fabs{display:flex;gap:8px;position:fixed;right:14px;bottom:16px;z-index:85}.sf-fabs .sf-contact-fab{position:static}.sf-journal-fab{display:inline-flex;align-items:center;height:40px;padding:0 14px;border-radius:20px;background:rgba(16,17,19,.9);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.6);color:#fff;text-decoration:none;font:700 10px "Courier New",Courier,monospace;letter-spacing:.2em;box-shadow:0 6px 18px rgba(0,0,0,.35)}html.sf-menu-open .sf-fabs,html.sf-talk-open .sf-fabs,body.sf-talk-app .sf-fabs{display:none!important}}

/* 会社案内：海外パートナー（2026-09-10） */
.sf-about-global{padding:40px 0 90px;border-top:1px solid #4b4b4b}.sf-about-global header{margin-bottom:34px}.sf-about-global h2{font-size:28px!important;line-height:1.8;margin:14px 0 0}.sf-about-global-en{font:400 13px/1.9 "Inter","Helvetica Neue",Arial,sans-serif;letter-spacing:.04em;color:#cfc7b8;margin:12px 0 0;max-width:640px}
.sf-about-global-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:60px;align-items:start}.sf-about-global-grid>div p{font-size:15px;line-height:2.1;margin:0 0 18px}
.sf-about-global-card{margin:0;border-top:1px solid #777}.sf-about-global-card>div{display:grid;grid-template-columns:90px 1fr;gap:14px;padding:14px 0;border-bottom:1px solid #3a3a3a}.sf-about-global-card dt{font:700 9px "Courier New",Courier,monospace;letter-spacing:.2em;color:var(--sf-sun-3,#ff5f9e);padding-top:4px}.sf-about-global-card dd{margin:0;font-size:14px;line-height:1.8;color:#fff}.sf-about-global-card>div:first-child dd{font-size:26px;letter-spacing:.06em;font-weight:600}
@media(max-width:700px){.sf-about-global{padding:20px 0 50px}.sf-about-global h2{font-size:21px!important}.sf-about-global-grid{grid-template-columns:1fr;gap:26px}.sf-about-global-grid>div p{font-size:14px}}

/* JP / EN 切り替え（2026-09-10） */
.sf-lang{display:inline-flex;align-items:center;gap:6px;margin-left:auto;margin-right:18px;font:700 10px "Courier New",Courier,monospace;letter-spacing:.2em;color:#8d8d8d}.sf-lang i{font-style:normal;color:#555}.sf-lang button{background:none;border:0;padding:4px 2px;color:#8d8d8d;font:inherit;letter-spacing:inherit;cursor:pointer;border-bottom:1px solid transparent}.sf-lang button[aria-pressed="true"]{color:#fff;border-bottom-color:var(--sf-sun-3,#ff5f9e)}.sf-lang button:hover{color:#fff}
.sf-header .sf-live{margin-left:0}
@media (max-width:700px){.sf-lang{display:none}}
.sf-mobile-lang{display:flex;gap:14px;margin:0 0 12px;font:700 11px "Courier New",Courier,monospace;letter-spacing:.2em}.sf-mobile-lang button{background:none;border:1px solid #3a3a3a;border-radius:999px;padding:7px 14px;color:#8d8d8d;font:inherit;letter-spacing:inherit}.sf-mobile-lang button[aria-pressed="true"]{color:#fff;border-color:var(--sf-sun-3,#ff5f9e)}
/* Google 翻訳の帯・吹き出しは出さない */
.goog-te-banner-frame,.skiptranslate iframe,#goog-gt-tt,.goog-te-balloon-frame,.goog-tooltip,.goog-tooltip:hover,.VIpgJd-ZVi9od-ORHb-OEVmcd,.VIpgJd-ZVi9od-aZ2wEe-wOHMyf{display:none!important}body{top:0!important;position:static!important}.goog-text-highlight{background:none!important;box-shadow:none!important}#sf-gt{position:absolute;left:-9999px;top:-9999px}font[style]{background:none!important;box-shadow:none!important}

/* Journal のラジオ風プレーヤー（2026-09-11） */
.sf-radio{--p:0%;display:grid;grid-template-columns:56px 1fr;gap:16px;align-items:center;margin:0 0 44px;padding:16px 18px;border:1px solid #6a6a6a;border-radius:10px;background:rgba(20,18,26,.75);max-width:720px}.sf-radio-play{width:56px;height:56px;border-radius:50%;border:1px solid var(--sf-sun-3,#ff5f9e);background:#0f1012;cursor:pointer;display:grid;place-items:center;padding:0;box-shadow:0 0 0 1px rgba(255,95,158,.2),0 0 14px rgba(255,95,158,.25)}.sf-radio-play .ic{width:0;height:0;border-left:14px solid #fff;border-top:9px solid transparent;border-bottom:9px solid transparent;margin-left:4px}.sf-radio.is-playing .sf-radio-play .ic{width:14px;height:16px;border:0;margin:0;background:linear-gradient(90deg,#fff 0 40%,transparent 40% 60%,#fff 60%)}
.sf-radio-kicker{display:block;font:700 9px "Courier New",Courier,monospace;letter-spacing:.2em;color:var(--sf-sun-3,#ff5f9e);margin-bottom:8px}.sf-radio-wave{position:relative;display:flex;align-items:flex-end;gap:3px;height:34px;cursor:pointer}.sf-radio-wave::before{content:"";position:absolute;left:0;top:0;bottom:0;width:var(--p);background:rgba(255,95,158,.12);pointer-events:none}.sf-radio-wave i{flex:1;height:var(--h);background:#6a6a6a;border-radius:1px;transform-origin:bottom}.sf-radio.is-live .sf-radio-wave i{animation:sfWave 1.1s ease-in-out infinite alternate}.sf-radio.is-live .sf-radio-wave i:nth-child(2n){animation-duration:.8s}.sf-radio.is-live .sf-radio-wave i:nth-child(3n){animation-duration:1.4s}.sf-radio.is-playing .sf-radio-wave i{background:#e8e8e8}@keyframes sfWave{from{transform:scaleY(.35)}to{transform:scaleY(1)}}
.sf-radio-time{margin-top:8px;font:700 11px "Courier New",Courier,monospace;letter-spacing:.14em;color:#cfc7b8}.sf-radio-time .sep{margin:0 8px;color:#666}
.sf-radio.is-compact{grid-template-columns:40px 1fr;gap:12px;padding:10px 12px;margin:14px 0 0;max-width:none}.sf-radio.is-compact .sf-radio-play{width:40px;height:40px}.sf-radio.is-compact .sf-radio-play .ic{border-left-width:11px;border-top-width:7px;border-bottom-width:7px}.sf-radio.is-compact .sf-radio-wave{height:22px}.sf-radio.is-compact .sf-radio-kicker{margin-bottom:5px}.sf-radio.is-compact .sf-radio-time{margin-top:5px;font-size:10px}
@media(max-width:700px){.sf-radio{padding:12px 14px;gap:12px;grid-template-columns:48px 1fr}.sf-radio-play{width:48px;height:48px}}

/* Journal の写真（本文の下の並び／本文中の画像ブロック）2026-09-11 */
.sf-journal-photos{display:grid;grid-template-columns:1fr 1fr;gap:16px;max-width:1100px;margin:10px auto 60px}.sf-journal-photos figure{margin:0}.sf-journal-photos img{display:block;width:100%;height:auto;border-radius:4px}.sf-journal-photos figcaption,.sf-prose .wp-block-image figcaption{font-size:12px;line-height:1.8;color:#9a9a9a;margin:8px 0 0;letter-spacing:.04em}
.sf-prose .wp-block-image{margin:36px 0}.sf-prose .wp-block-image img{display:block;max-width:100%!important;width:auto!important;height:auto!important;max-height:80vh;margin:0 auto;border-radius:4px}
@media(max-width:700px){.sf-journal-photos{grid-template-columns:1fr;gap:12px;margin-bottom:40px}.sf-prose .wp-block-image{margin:24px 0}}

/* Journal の冒頭の答えの1文（AEO）2026-09-11 */
.sf-prose .sf-journal-lead{font-size:14px;line-height:2;color:#bdb3a2;border-left:2px solid var(--sf-sun-3,#ff5f9e);padding-left:14px;margin:0 0 34px}

/* 2026-09-11 井埜さん「スマホも下層でメニューが上からくっついてくるように」：下層ページのヘッダーをスマホでは画面上部に固定（sticky）。トップは従来どおり */
@media (max-width:700px){body.sf-article .sf-header:not(.sf-home-menu){position:sticky;top:var(--sf-toolbar,0px);z-index:75;width:100%;max-width:none;margin:0 0 16px;padding:12px 20px;box-sizing:border-box;background:#262626f5;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid #4b4b4b}body.sf-article .sf-header:not(.sf-home-menu) .sf-brand img{width:120px}}

/* 2026-09-11 速度：スマホの下層ヘッダーは JS で MENU ボタンが入ると 47→65px に伸びて本文がずれる（CLS 0.17）ので、最初から高さを確保 */
@media (max-width:700px){body.sf-article .sf-header:not(.sf-home-menu){min-height:65px}}

/* 2026-09-11 井埜さん「この色合いが醜い」：出現演出の赤青のにじみをやめ、拭き取り＋フェードだけにする */
html.sf-js .sf-vhs{filter:none!important}

/* 2026-09-11 井埜さん「ジャーナルのこういうところが色が見にくい（引用）」：背景の8bitの上でも読めるように */
.sf-prose blockquote{margin:34px 0;padding:22px 26px;border-left:2px solid var(--sf-sun-3,#ff5f9e);background:rgba(16,16,18,.72);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-radius:0 6px 6px 0}
.sf-prose blockquote p{margin:0;color:#f2ede2!important;font-size:16px;line-height:2;letter-spacing:.02em}
.sf-prose blockquote p+p{margin-top:12px}
@media(max-width:700px){.sf-prose blockquote{margin:24px 0;padding:16px 18px}.sf-prose blockquote p{font-size:15px}}

/* 記事内の動画（YouTube）2026-09-11 */
.sf-prose .sf-embed{position:relative;aspect-ratio:16/9;margin:34px 0;background:#000;border-radius:6px;overflow:hidden}
.sf-prose .sf-embed iframe{position:absolute;inset:0;width:100%!important;height:100%!important;border:0}
@media(max-width:700px){.sf-prose .sf-embed{margin:24px 0}}

/* 写真の説明文も背景の上で読めるように（2026-09-11） */
.sf-prose .wp-block-image figcaption,.sf-journal-photos figcaption{color:#d6cfc2!important;text-shadow:0 1px 6px rgba(0,0,0,.7)}

/* 海外パートナー UKOO の写真（2026-09-11） */
.sf-about-global-photos{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:8px 0 0}
.sf-about-global-photos figure{margin:0;position:relative;aspect-ratio:4/3;overflow:hidden;border-radius:4px}
.sf-about-global-photos figure>*,.sf-about-global-photos figure>*>*,.sf-about-global-photos img{position:absolute;inset:0;width:100%!important;height:100%!important;display:block!important}
.sf-about-global-photos img{object-fit:cover}
.sf-about-global-photos figcaption{position:absolute;left:0;right:0;bottom:0;z-index:2;padding:16px 14px 10px;background:linear-gradient(180deg,rgba(0,0,0,0),rgba(0,0,0,.72));color:#e8e2d6;font-size:11px;line-height:1.7;letter-spacing:.03em;height:auto!important;top:auto!important}
@media(max-width:700px){.sf-about-global-photos{grid-template-columns:1fr;gap:12px}}

/* 2026-09-11 井埜さん「もっと写真小さくていい。スライドショーで2枚で構成すれば」：UKOO の写真は1枚分の枠で2枚を交互に */
.sf-about-global-slides{grid-column:1/-1;position:relative;aspect-ratio:4/3;max-width:420px;margin:10px 0 0;overflow:hidden;border-radius:4px;background:#1a1720}
.sf-about-global-slides img{position:absolute;inset:0;width:100%!important;height:100%!important;object-fit:cover;opacity:0;animation:sfUkooFade 14s infinite}
.sf-about-global-slides img:nth-child(1){animation-name:sfUkooFadeFirst}
.sf-about-global-slides img:nth-child(2){animation-delay:7s}
@keyframes sfUkooFadeFirst{0%{opacity:1}46%{opacity:1}54%{opacity:0}96%{opacity:0}100%{opacity:1}}
@keyframes sfUkooFade{0%{opacity:0}4%{opacity:1}46%{opacity:1}54%{opacity:0}100%{opacity:0}}
.sf-about-global-slides figcaption{position:absolute;left:0;right:0;bottom:0;z-index:2;padding:22px 12px 9px;background:linear-gradient(180deg,rgba(0,0,0,0),rgba(0,0,0,.75));color:#e8e2d6;font-size:11px;line-height:1.7}
@media(prefers-reduced-motion:reduce){.sf-about-global-slides img{animation:none}.sf-about-global-slides img:nth-child(2){display:none}.sf-about-global-slides img:nth-child(1){opacity:1}}
@media(max-width:700px){.sf-about-global-slides{max-width:none}}
/* 2026-09-11 井埜さん「なんで明朝系なんだっけ？」：カードの題名も本文と同じゴシックに */
body.sf-wordpress .sf-card h2,.sf-card h2,.sf-voice-tile h2,.sf-work-caption h2{font-family:"Zen Kaku Gothic New","Hiragino Kaku Gothic ProN","Noto Sans JP",sans-serif!important;letter-spacing:.01em}
/* 2026-09-11 井埜さん「カーソル合わせると色が変わるけど見にくい」：暗い地に暗いワインレッドは読めないので、明るい琥珀に */
body.sf-wordpress .sf-card a:hover h2,.sf-card a:hover h2{color:#f2a579!important}
body.sf-wordpress .sf-header nav a:hover,body.sf-wordpress .sf-footer a:hover{color:#f2a579!important}

/* 2026-09-11 井埜さん「詳しく見るボタンが結構全体的に見にくい」：背景の絵の上でも読める小さなピルに */
body.sf-home .sf-domain-link,body.sf-wordpress .sf-domain-link,.sf-domain-link{display:inline-flex;align-items:center;gap:10px;padding:11px 18px;border:1px solid rgba(255,255,255,.4)!important;border-radius:999px;background:rgba(14,14,16,.62);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);color:#fff!important;font-size:12.5px;letter-spacing:.1em;text-decoration:none;transition:border-color .2s,background .2s}
.sf-domain-link:hover{border-color:var(--sf-sun-3,#ff5f9e)!important;background:rgba(14,14,16,.82)}
.sf-domain-link span{font-size:12px;opacity:.9}
body.sf-home .sf-domain-example,.sf-domain-example{color:#e6ded0!important;border-bottom:1px solid rgba(255,255,255,.3);padding-bottom:5px}
.sf-domain-example:hover{color:#f2a579!important;border-color:#f2a579}

/* 誌面など「資料」の画像は小さめに（2026-09-11 井埜さん「PDFを小さくして画像で」） */
.sf-prose .sf-clip-small{max-width:760px;margin-left:auto;margin-right:auto}
@media(max-width:700px){.sf-prose .sf-clip-small{max-width:none}}

/* 誌面の画像は白いマットに載せて「紙」に見せる（2026-09-11 井埜さん「なんか真っ黒だな」） */
.sf-prose .sf-clip-small{background:#f2eee5;padding:14px;border-radius:3px;box-shadow:0 18px 40px rgba(0,0,0,.45)}
.sf-prose .sf-clip-small img{border:1px solid rgba(0,0,0,.18)}
.sf-prose .sf-clip-small figcaption{color:#6a6155!important;text-shadow:none!important;margin-bottom:0}

/* 2026-09-11 井埜さん「UKOOの部分のUIがおかしいな」「縦長というか」
   写真が1行を独り占めして右側が空き、データの一覧が縦に長く伸びていた。
   本文｜写真 の2列にし、データは横に並べる。 */
.sf-about-global-grid{grid-template-columns:1.25fr .85fr!important;gap:48px 56px!important;align-items:start}
.sf-about-global-slides{grid-column:auto!important;max-width:none!important;margin:0!important;aspect-ratio:4/3}
.sf-about-global-card{grid-column:1/-1!important;display:grid!important;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:0 44px;border-top:1px solid #777;margin-top:8px!important}
.sf-about-global-card>div{display:block!important;grid-template-columns:none!important;gap:0!important;padding:16px 0 15px!important;border-bottom:1px solid #3a3a3a}
.sf-about-global-card dt{padding-top:0!important;margin-bottom:7px}
.sf-about-global-card>div:first-child dd{font-size:22px!important;line-height:1.3}
.sf-about-global-card>div:last-child{grid-column:1/-1}
@media(max-width:860px){.sf-about-global-grid{grid-template-columns:1fr!important;gap:24px!important}.sf-about-global-slides{max-width:520px!important}}
@media(max-width:700px){.sf-about-global-card{grid-template-columns:1fr;gap:0}}

/* 2026-09-11 AEO：ラベル（EYEBROW）は段落ではなく span にした。見た目は変えない */
span.sf-eyebrow{display:block}
.sf-archive-lead{max-width:760px;margin:14px 0 0;font-size:14px;line-height:2;opacity:.86}
@media(max-width:700px){.sf-archive-lead{font-size:13px;line-height:1.95}}

/* 2026-09-11 AEO：下層ページのよくある質問（小さく、控えめに） */
.sf-aeo-faq--inner{border-top:1px solid rgba(255,255,255,.14);margin-top:10px}
.sf-aeo-faq--inner .sf-aeo-faq-in{max-width:1100px;margin:0 auto;padding:34px 40px 40px}
.sf-aeo-faq--inner .sf-eyebrow{margin:0 0 14px}
.sf-aeo-faq--inner .sf-aeo-faq-list{max-width:760px;margin:0}
@media(max-width:700px){.sf-aeo-faq--inner .sf-aeo-faq-in{padding:24px 20px 30px}}

/* 2026-09-11 下層フッターに公式アカウントへのリンク（外部の信頼シグナル） */
.sf-footer-sns{display:flex;gap:16px;flex-wrap:wrap;font-size:11px;letter-spacing:.06em;opacity:.62}
.sf-footer-sns a{color:inherit}
.sf-footer-sns a:hover{opacity:1;color:#f2a579!important}
@media(max-width:700px){.sf-footer-sns{gap:12px;font-size:10.5px;order:3;width:100%;margin-top:8px}}

/* 2026-09-11 AEO：記事の著者欄（E-E-A-T）。背景のドット絵に溶けないよう箱にする */
.sf-author-box{margin:56px 0 0;padding:24px 26px;border:1px solid rgba(255,255,255,.16);border-radius:4px;background:rgba(16,16,18,.74);display:grid;grid-template-columns:auto 1fr;gap:22px;align-items:start}
.sf-author-box:not(:has(.sf-author-photo)){grid-template-columns:1fr}
.sf-author-photo{margin:0;width:96px;height:96px;border-radius:50%;overflow:hidden;flex:none}
.sf-author-photo img{width:100%;height:100%;object-fit:cover;display:block}
.sf-author-box .sf-eyebrow{margin:0 0 10px!important;font-size:9.5px!important}
.sf-author-name{margin:0 0 10px!important;font-size:16px!important;line-height:1.6!important;color:#f6f1e6!important;font-weight:600!important}
.sf-author-name small{font-size:11.5px;font-weight:400;opacity:.72;margin-left:8px}
.sf-author-bio{margin:0 0 12px!important;font-size:13px!important;line-height:2!important;color:#e6dfd2!important}
.sf-author-more{margin:0!important}
.sf-author-more a{font-size:12px;text-decoration:underline;text-underline-offset:3px;color:#f2a579!important}
@media(max-width:700px){.sf-author-box{grid-template-columns:1fr;padding:20px;gap:14px;margin-top:38px}.sf-author-photo{width:72px;height:72px}}

/* リード段落（ページの答え）は本文よりはっきり見せる */
/* 2026-09-11 井埜さん「こんなとこに文字あったんだ、見にくいね」：実績ページのリードが8bit背景に溶けていた。
   .sf-prose の中だけでなく、リードの段落はどこでも読める箱にする */
p.sf-lead,.sf-prose .sf-lead,.sf-case-body .sf-lead{font-size:16px!important;line-height:2.05!important;color:#f6f1e6!important;background:rgba(16,16,18,.72)!important;padding:18px 22px!important;border-left:2px solid #f2a579!important;border-radius:0 3px 3px 0;margin:0 0 34px!important;text-shadow:none!important;opacity:1!important;max-width:900px}
@media(max-width:700px){p.sf-lead,.sf-prose .sf-lead,.sf-case-body .sf-lead{font-size:14.5px!important;line-height:1.95!important;padding:15px 16px!important}}

/* 2026-09-11 井埜さん「全体的に左右の余白とかも確認してUI的に。全ページかな」
   「下層ページのタイトルあるとこの本文とかがページによって違うので統一はして欲しい」
   下層ページの見出しまわりを1つの型に：〈小さな英字のラベル → 見出し → 説明の1段落〉。
   左右の余白は PC 48px・タブレット 32px・スマホ 20px、幅は 1160px で全ページ共通。 */
/* サイト共通の左右の余白（.sf-content と同じ width:min(1160px,88vw)）を見出しにも使う。親の余白と二重にしない */
.sf-page-head{width:min(1160px,88vw)!important;max-width:none!important;margin:0 auto!important;padding:72px 0 42px!important;display:block!important;grid-template-columns:none!important;text-align:left!important;min-height:0!important;box-sizing:border-box}
.sf-page-head>div{display:block!important;margin:0!important;padding:0!important;max-width:none!important}
.sf-page-head .sf-eyebrow{margin:0 0 18px!important;padding:0!important}
.sf-page-head h1{margin:0 0 20px!important;padding:0 0 4px!important;font-size:clamp(46px,6.2vw,92px)!important;line-height:1.16!important;letter-spacing:.02em!important;text-align:left!important;overflow:visible!important}
.sf-page-head h1 span{display:block!important;font-size:12.5px!important;letter-spacing:.18em!important;line-height:1.6!important;margin:16px 0 0!important;opacity:.7;font-weight:400!important}
.sf-page-head p{max-width:760px!important;margin:0!important;padding:0!important;font-size:15px!important;line-height:2!important;text-align:left!important;opacity:.88;color:inherit}
.sf-page-head p a{text-decoration:underline;text-underline-offset:3px}
.sf-page-head--jp h1{font-size:clamp(28px,3.6vw,48px)!important;line-height:1.5!important;letter-spacing:.01em!important}
@media(max-width:900px){.sf-page-head{padding:52px 0 32px!important}}
@media(max-width:700px){
 .sf-page-head{padding:34px 0 24px!important}
 .sf-page-head h1{font-size:clamp(36px,10.5vw,50px)!important;margin-bottom:16px!important}
 .sf-page-head--jp h1{font-size:clamp(21px,6.2vw,29px)!important}
 .sf-page-head p{font-size:13.5px!important;line-height:1.95!important}
 .sf-page-head h1 span{font-size:11px!important;margin-top:12px!important}
}

/* 2026-09-11 井埜さん「UIが悪い、ズレてる」：横に並ぶカードの「詳しく見る」の下端を揃える。
   body に sf-home が付かない場面があったので、カードの入れ物だけで完結させる */
.sf-service-cards{align-items:stretch!important}
.sf-home .sf-service-cards .sf-domain{display:flex!important;flex-direction:column!important;height:100%}
.sf-service-cards .sf-domain-info{display:flex!important;flex-direction:column!important;flex:1 1 auto!important;align-items:stretch!important}
.sf-service-cards .sf-domain-info>div{display:flex!important;flex-direction:column!important;flex:1 1 auto!important;width:100%}
.sf-service-cards .sf-domain-link{margin-top:auto!important;align-self:flex-start}
/* トップは横幅いっぱいのピル（元の見た目）、下層は文字幅のピル */
body.sf-home .sf-service-cards .sf-domain-link{align-self:stretch!important;justify-content:space-between}

/* お問い合わせはチャット1本の細い段なので、見出しもその幅に合わせる（横スクロールを出さない） */
.sf-contact-heading.sf-page-head{width:100%!important}

/* 2026-09-11 Creative LAB. の写真は3枚（井埜さん送付の実写に差し替え） */
.sf-lab-photos{grid-template-columns:repeat(3,minmax(0,1fr))!important}
.sf-creative-lab .sf-lab-lead{max-width:720px;margin:0 0 24px;font-size:14px;line-height:2;opacity:.86}
@media(max-width:700px){.sf-lab-photos{grid-template-columns:1fr!important;gap:12px!important}.sf-creative-lab .sf-lab-lead{font-size:13px;line-height:1.95;margin-bottom:18px}}

/* 看板のアップはロゴが切れないよう左寄せで見せる */
.sf-lab-photos figure:nth-child(3) img{object-position:left center}
.sf-lab-photos figure:nth-child(1) img{object-position:center center}

/* 2026-09-11 井埜さん「creativelabはちょっとの紹介でいいよ」
   会社案内の主役は本社。Creative LAB. は小さな添えものにする */
.sf-creative-lab{margin:30px 0 0!important}
.sf-creative-lab h3{font-size:19px!important;font-weight:600!important;margin:6px 0 10px!important;line-height:1.5!important}
.sf-creative-lab .sf-lab-lead{font-size:13px!important;line-height:1.9!important;max-width:640px;margin:0 0 14px!important;opacity:.8}
.sf-lab-photos{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:8px!important;max-width:520px}
.sf-office-company .sf-lab-photos img{aspect-ratio:1.5!important;object-fit:cover;border-radius:2px}
@media(max-width:700px){
 .sf-creative-lab h3{font-size:17px!important}
 .sf-creative-lab .sf-lab-lead{font-size:12.5px!important;margin-bottom:11px!important}
 .sf-lab-photos{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:6px!important;max-width:none}
}

/* 2026-09-11 井埜さん「PCで一列だと小さくない？」
   関連サイトは6つ横一列だとロゴが小さい。PCは3列×2行にしてロゴを大きく（罫線1本の作法は維持） */
@media (min-width:1101px){
 body.sf-home .sf-rel{grid-template-columns:repeat(3,1fr)!important;gap:0 40px!important}
 body.sf-home .sf-rel>a{padding:34px 0 28px!important;gap:18px!important}
 body.sf-home .sf-rel>a .n{height:78px!important}
 body.sf-home .sf-rel .sf-related-logo{max-width:230px!important;height:78px!important}
 body.sf-home .sf-rel>a .u{font-size:11.5px!important}
}
@media (min-width:701px) and (max-width:1100px){
 body.sf-home .sf-rel>a .n{height:66px!important}
 body.sf-home .sf-rel .sf-related-logo{max-width:190px!important;height:66px!important}
}

/* 2026-09-11 井埜さん「faq見にくい」
   幅が760pxしかなく、表のセルが「決めた／い」「制／作」のように汚く折り返していた。
   文字は小さいまま、幅と行間を広げて読めるようにする */
.sf-aeo-faq-list{max-width:1060px!important}
.sf-aeo-faq-list summary{padding:16px 34px 16px 0!important}
.sf-aeo-faq-list summary::after{top:14px!important}
.sf-aeo-faq-list summary h3{font-size:14px!important;line-height:1.8!important}
.sf-aeo-faq-list details p{font-size:13px!important;line-height:2.05!important;max-width:900px!important;margin:0 0 18px!important;opacity:.9}
.sf-aeo-table-wrap{max-width:1060px!important}
.sf-aeo-table-wrap h3{font-size:14px!important;margin:0 0 14px!important}
.sf-aeo-table{font-size:13px!important;line-height:1.9!important;min-width:720px!important}
.sf-aeo-table th,.sf-aeo-table td{padding:14px 20px 14px 0!important}
.sf-aeo-table th:first-child,.sf-aeo-table td:first-child{width:29%}
.sf-aeo-table th:nth-child(2),.sf-aeo-table td:nth-child(2){width:19%;white-space:nowrap}
@media(max-width:700px){
 .sf-aeo-faq-list summary h3{font-size:13.5px!important}
 .sf-aeo-table{min-width:600px!important}
 .sf-aeo-table th,.sf-aeo-table td{padding:12px 14px 12px 0!important}
}

/* 2026-09-11 井埜さん「写真デカすぎなんよな」：採用ページのオフィス写真の列を小さく */
.sf-recruit-row{max-width:900px!important;margin:20px 0 46px!important;gap:14px!important}
.sf-recruit-row img{aspect-ratio:4/5!important}
.sf-recruit-row li:nth-child(2) img{aspect-ratio:4/3!important}
.sf-inner-cover img{max-height:440px;object-fit:cover}
@media(max-width:700px){.sf-recruit-row{gap:10px!important;margin-bottom:32px!important}.sf-inner-cover img{max-height:240px}}

/* 2026-09-11 採用ページ「数字とグラフで見る Sunset films」 */
.sf-rc-numbers{padding:20px 0 70px;max-width:1160px}
.sf-rc-num-head{margin:0 0 32px}
.sf-rc-num-head .sf-eyebrow{display:block;margin:0 0 14px}
.sf-recruit-page .sf-rc-num-head h2{margin:0 0 14px!important;font-size:clamp(20px,2.4vw,28px)!important;line-height:1.6!important;font-weight:600!important}
.sf-rc-num-head p{margin:0;font-size:14px;line-height:1.95;color:#cfc7b8;max-width:680px}
.sf-rc-num-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.sf-rc-card{border:1px solid rgba(255,255,255,.16);background:rgba(16,16,18,.62);padding:24px 22px 26px;display:flex;flex-direction:column}
.sf-recruit-page .sf-rc-card h3{margin:0 0 18px!important;font-size:13px!important;letter-spacing:.08em!important;font-weight:600!important;color:#f2a579!important;line-height:1.6!important}
.sf-rc-big{margin:0 0 12px;font-family:var(--fe,"Jost",sans-serif);font-weight:600;font-size:clamp(40px,4.6vw,58px);line-height:1;color:#fff;font-variant-numeric:tabular-nums}
.sf-rc-big small{font-size:16px;margin-left:6px;color:#cfc7b8;font-weight:400}
.sf-rc-note{margin:auto 0 0;font-size:12.5px;line-height:1.95;color:#cfc7b8}
/* 男女比の帯 */
.sf-rc-bar{display:flex;height:46px;border-radius:3px;overflow:hidden;margin:0 0 14px}
.sf-rc-bar span{display:flex;align-items:center;justify-content:center;gap:1px;width:var(--w);font-family:var(--fe,"Jost",sans-serif);font-weight:600;font-size:19px;color:#1c1a18}
.sf-rc-bar-a{background:#f2a579}
.sf-rc-bar-b{background:#cfc7b8}
.sf-rc-bar small{font-size:11px;font-weight:500}
.sf-rc-legend{display:flex;gap:18px;margin:0 0 auto;font-size:11.5px;color:#cfc7b8}
.sf-rc-legend span{display:flex;align-items:center;gap:7px}
.sf-rc-legend span::before{content:"";width:9px;height:9px;border-radius:2px;background:#f2a579}
.sf-rc-legend .is-b::before{background:#cfc7b8}
/* 円グラフ */
.sf-rc-donut{width:118px;height:118px;border-radius:50%;margin:0 0 16px;display:grid;place-items:center;
 background:conic-gradient(#f2a579 0 calc(var(--p)*1%),rgba(255,255,255,.14) calc(var(--p)*1%) 100%)}
.sf-rc-donut.is-alt{background:conic-gradient(#8fb8c9 0 calc(var(--p)*1%),rgba(255,255,255,.14) calc(var(--p)*1%) 100%)}
.sf-rc-donut span{width:78px;height:78px;border-radius:50%;background:#141416;display:grid;place-items:center;font-size:11.5px;color:#cfc7b8;text-align:center;line-height:1.4}
.sf-rc-donut b{display:block;font-size:17px;color:#fff;font-weight:600}
/* 支給リスト */
.sf-rc-kit{list-style:none;margin:0;padding:0;display:grid;gap:11px}
.sf-rc-kit li{display:grid;grid-template-columns:62px 1fr;gap:12px;align-items:start;font-size:12.5px;line-height:1.8;color:#e6dfd2}
.sf-rc-kit span{font:700 8.5px/1.9 "Courier New",Courier,monospace;letter-spacing:.12em;color:#1c1a18;background:#cfc7b8;text-align:center;border-radius:2px;padding:2px 0}
.sf-rc-world-mark{margin:16px 0 0;font:700 10px/1 "Courier New",Courier,monospace;letter-spacing:.2em;color:#8fb8c9}
.sf-rc-caption{margin:16px 0 0;font-size:11px;color:#8d8578}
@media(max-width:900px){.sf-rc-num-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:700px){
 .sf-rc-numbers{padding-bottom:44px}
 .sf-rc-num-grid{grid-template-columns:1fr;gap:10px}
 .sf-rc-card{padding:20px 18px 22px}
 .sf-rc-big{font-size:38px}
 .sf-rc-donut{width:100px;height:100px}
 .sf-rc-donut span{width:66px;height:66px;font-size:11px}
}

/* 2026-09-11 井埜さん「真っ黒です」：誌面は明るく作り直し、少し大きく見せる */
.sf-prose .sf-clip-small{max-width:760px!important}

/* 2026-09-11 井埜さん「リクルートの数字で見るも微妙だな」
   同じ形の箱カードの繰り返しをやめ、罫線1本と数字の強弱で組み直す */
.sf-rc-num-grid{grid-template-columns:1.1fr 1fr 1fr!important;gap:0 52px!important;border-top:1px solid rgba(255,255,255,.22)!important}
.sf-rc-card{border:0!important;background:none!important;padding:30px 0 34px!important;border-bottom:1px solid rgba(255,255,255,.12)!important}
.sf-recruit-page .sf-rc-card h3{margin:0 0 20px!important;font:700 9.5px/1 "Courier New",Courier,monospace!important;letter-spacing:.22em!important;color:#f2a579!important}
/* 数字は主役だけ大きく */
.sf-rc-big{font-size:clamp(52px,6.4vw,84px)!important;margin-bottom:16px!important;letter-spacing:-.02em}
.sf-rc-big small{font-size:15px!important;margin-left:8px!important}
.sf-rc-note{font-size:12.5px!important;line-height:1.95!important;max-width:330px}
/* 男女比：細い帯 */
.sf-rc-bar{height:8px!important;border-radius:0!important;margin:14px 0 16px!important}
.sf-rc-bar span{font-size:0!important}
.sf-rc-card--ratio::after{content:"男性 50 ／ 女性 50";display:block;font-family:var(--fe,"Jost",sans-serif);font-weight:600;font-size:clamp(26px,3vw,38px);line-height:1;color:#fff;margin:0 0 14px}
.sf-rc-card--ratio .sf-rc-bar{order:2}
.sf-rc-card--ratio{display:flex;flex-direction:column}
.sf-rc-legend{font-size:11px!important;margin-top:0!important}
/* 円グラフ：細いリングに */
.sf-rc-donut{width:104px!important;height:104px!important;margin-bottom:18px!important}
.sf-rc-donut span{width:86px!important;height:86px!important;background:#1c1a18!important;font-size:11px!important}
.sf-rc-donut b{font-size:16px!important}
/* 支給の一覧 */
.sf-rc-kit li{grid-template-columns:58px 1fr!important;font-size:12.5px!important}
.sf-rc-kit span{background:none!important;color:#f2a579!important;text-align:left!important;padding:0!important;letter-spacing:.18em!important}
.sf-rc-num-head{margin-bottom:26px!important}
.sf-rc-caption{margin-top:20px!important}
@media(max-width:900px){.sf-rc-num-grid{grid-template-columns:1fr 1fr!important;gap:0 32px!important}}
@media(max-width:700px){
 .sf-rc-num-grid{grid-template-columns:1fr!important;gap:0!important}
 .sf-rc-card{padding:22px 0 24px!important}
 .sf-rc-big{font-size:46px!important}
 .sf-rc-card--ratio::after{font-size:24px}
 .sf-rc-note{max-width:none}
}
/* 男女比のカードの並び順：見出し → 数字 → 帯 → 凡例 */
.sf-recruit-page .sf-rc-card--ratio h3{order:0}
.sf-rc-card--ratio::after{order:1;margin:0 0 16px!important}
.sf-rc-card--ratio .sf-rc-bar{order:2;margin:0 0 12px!important}
.sf-rc-card--ratio .sf-rc-legend{order:3;margin:0 0 auto!important}

/* 2026-09-11 井埜さん「詳しく見るがズレてる／UI悪い」
   高さ54pxの中に padding-top:24px が残っていて、文字と矢印が下に沈んでいた。
   上下の余白は align-items:center に任せ、左右だけにする。スマホは幅いっぱいをやめて文字幅のピルに */
body.sf-home .sf-service-cards .sf-domain-link,
.sf-service-cards .sf-domain-link{
 padding:0 22px!important;
 height:54px!important;
 box-sizing:border-box!important;
 align-items:center!important;
 flex:none!important;
 line-height:1!important;
}
body.sf-home .sf-service-cards .sf-domain-link span{line-height:1!important}
@media(max-width:700px){
 body.sf-home .sf-service-cards .sf-domain-link{align-self:flex-start!important;height:48px!important;padding:0 20px!important;gap:14px!important}
}

/* 2026-09-11 井埜さん「ジャーナルの背景はこれまでのでいいや」：ベクターゲーム背景は撤去し、8bit の街に戻した */


/* Journal もアーケードの書体を少しだけ（分類の帯・FILE番号・日付） */
body.single-journal .sf-journal-cats a,body.post-type-archive-journal .sf-journal-cats a,
body.tax-journal_cat .sf-journal-cats a,body.post-type-archive-journal .sf-scroll .ser,
body.single-journal .sf-article-heading time,body.post-type-archive-journal .sf-eyebrow{
 font-family:"Press Start 2P","Courier New",Courier,monospace!important;font-size:8px!important;letter-spacing:.12em!important;line-height:2!important}

@media(max-width:700px){
 body.single-journal .sf-journal-cats a,body.post-type-archive-journal .sf-journal-cats a,
 body.tax-journal_cat .sf-journal-cats a,body.post-type-archive-journal .sf-eyebrow{font-size:8px!important} /* 2026-09-12 7pxは読めない（Press Start 2P の素の大きさ8pxへ） */
}

/* Journal の大見出しもドット文字（本文は既定のゴシックのまま） */
body.post-type-archive-journal .sf-page-head h1,body.tax-journal_cat .sf-page-head h1,
body.single-journal .sf-article-heading h1{font-family:"DotGothic16","Zen Kaku Gothic New",sans-serif!important}

/* Journal の背景（飛行機で世界を旅する画面）は assets/css/journal-bg.css に分離した（2026-09-11） */
/* 2026-09-12 Journal 本文の写真（縦位置は幅640pxまで・中央） */
.sf-journal-figure{margin:32px auto;max-width:640px}.sf-journal-figure img{display:block;width:100%;height:auto}

/* 2026-09-12 Journal：例え記事の表と図（井埜さん「表とか図を入れてもいいのかもな」）。8bit背景の上でも読めるように blockquote と同じ半透明の黒い面に載せる */
.sf-journal-table-wrap{margin:34px 0;overflow-x:auto}
.sf-journal-table{width:100%;border-collapse:collapse;border-top:1px solid rgba(255,255,255,.35);font-size:14.5px;line-height:1.8;background:rgba(16,16,18,.72);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
.sf-journal-table th,.sf-journal-table td{border-bottom:1px solid rgba(255,255,255,.14);padding:14px 16px;text-align:left;vertical-align:top;font-weight:400;color:#f2ede2}
.sf-journal-table thead th{font-size:11px;letter-spacing:.16em;color:#f2a579;padding-top:12px;padding-bottom:12px}
.sf-journal-table tbody th{white-space:nowrap;color:#fff;font-weight:600;width:170px}
.sf-journal-diagram{margin:34px auto;max-width:640px;padding:22px 18px 16px;background:rgba(16,16,18,.72);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border:1px solid rgba(255,255,255,.14);border-radius:6px;overflow-x:auto}
.sf-journal-diagram svg{display:block;width:100%;height:auto;font-family:inherit}
.sf-journal-diagram figcaption{margin-top:12px;font-size:12px;color:#bdb6a8;line-height:1.7}
@media(max-width:700px){.sf-journal-table{font-size:13px}.sf-journal-table th,.sf-journal-table td{padding:10px 10px}.sf-journal-table tbody th{white-space:normal;width:auto}.sf-journal-diagram{padding:14px 10px 12px}.sf-journal-diagram svg{min-width:520px}}
/* 2026-09-12 スマホは表を1行ずつ縦に積む（4列は横に収まらない） */
@media(max-width:700px){.sf-journal-table thead{display:none}.sf-journal-table tr{display:block;border-bottom:1px solid rgba(255,255,255,.14);padding:12px 12px 8px}.sf-journal-table th,.sf-journal-table td{display:block;border:0;padding:0 0 8px;width:auto}.sf-journal-table tbody th{font-size:15px;padding-bottom:8px}.sf-journal-table td::before{content:attr(data-l);display:block;font-size:10.5px;letter-spacing:.14em;color:#f2a579;margin-bottom:1px}}
.sf-journal-diagram svg.is-sp{display:none}
@media(max-width:700px){.sf-journal-diagram{overflow:visible}.sf-journal-diagram svg.is-pc{display:none}.sf-journal-diagram svg.is-sp{display:block;min-width:0;max-width:360px;margin:0 auto}}
.sf-journal-diagram.is-narrow{max-width:440px}
@media(max-width:700px){.sf-journal-diagram.is-narrow{overflow:visible}.sf-journal-diagram.is-narrow svg{min-width:0}}
/* 2026-09-12 Journal：タッチポイントの実物3枚 */
.sf-journal-grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:28px 0;padding:12px;background:rgba(16,16,18,.72);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border:1px solid rgba(255,255,255,.14);border-radius:6px}.sf-journal-grid3 figure{margin:0}.sf-journal-grid3 img{display:block;width:100%;height:auto;border:1px solid rgba(255,255,255,.16);border-radius:4px}.sf-journal-grid3 figcaption{margin-top:7px;font-size:11.5px;line-height:1.6;color:#f2ede2}
@media(max-width:700px){.sf-journal-grid3{grid-template-columns:1fr;gap:16px}}
.sf-journal-grid3.is-two{grid-template-columns:repeat(2,1fr)}
@media(max-width:700px){.sf-journal-grid3.is-two{grid-template-columns:1fr}}
.sf-journal-video{margin:28px auto;max-width:720px}.sf-journal-video-frame{position:relative;padding-top:56.25%;background:#000;border-radius:6px;overflow:hidden}.sf-journal-video-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0}.sf-journal-video figcaption{margin-top:8px;font-size:12px;color:#bdb6a8}

/* 2026-09-13 会社案内「MEDIA」：受賞歴（.sf-awards-list）と同じ罫線の一覧。年・ロゴ・媒体・内容 */
.sf-about-media{padding:40px 0 90px}
.sf-about-media header{margin-bottom:34px}
.sf-about-media h2{font-size:28px!important;line-height:1.8;margin:14px 0 0}
.sf-about-media-lead{font-size:14px;line-height:2;color:#cfc7b8;margin:14px 0 0;max-width:640px}
.sf-media-list{list-style:none;margin:0;padding:0;border-top:1px solid #777}
.sf-media-list li{display:grid;grid-template-columns:80px 150px 1.3fr 1fr;gap:20px;padding:18px 0;border-bottom:1px solid #444;font-size:14.5px;line-height:1.8;align-items:center}
.sf-media-list .y{color:#d7b395;font-size:18px}
.sf-media-list .l{display:block}
body.sf-wordpress .sf-media-list .l img,.sf-media-list .l img{display:block;height:20px!important;width:auto!important;max-width:140px;opacity:.94}
.sf-media-list .n{color:#fff}
.sf-media-list .w{color:#bdb3a2;font-size:13px}
@media(max-width:700px){.sf-about-media{padding:20px 0 50px}.sf-about-media h2{font-size:21px!important}.sf-media-list li{grid-template-columns:60px 1fr;gap:6px 14px;font-size:13.5px;align-items:start}.sf-media-list .l{grid-column:2}.sf-media-list .n,.sf-media-list .w{grid-column:2}body.sf-wordpress .sf-media-list .l img,.sf-media-list .l img{height:18px!important}}

/* 2026-09-14 事業チャンネルのよくある質問：質問を h3 にしたので、見た目は元の summary のまま */
.sf-copy-section summary h3.sf-copy-faq-q{display:inline;font:inherit;margin:0;padding:0;letter-spacing:inherit;color:inherit;text-transform:none}

/* 2026-09-14 トップの段の動き（assets/top-motion.js）。隠すのは JS が .sf-tm を付けた要素だけ。動かすのは opacity／transform／clip-path だけ */
html.sf-js body.sf-home .sf-tm-head .sf-en{clip-path:inset(0 100% 0 0)}
html.sf-js body.sf-home .sf-tm-head .sf-jp{opacity:0}
html.sf-js body.sf-home .sf-tm-head.is-in .sf-en{animation:sfTmScan .95s cubic-bezier(.2,.75,.2,1) forwards}
html.sf-js body.sf-home .sf-tm-head.is-in .sf-jp{animation:sfTmFade .6s ease .45s forwards}
@keyframes sfTmScan{0%{clip-path:inset(0 100% 0 0);filter:drop-shadow(-4px 0 rgba(255,70,140,.75)) drop-shadow(4px 0 rgba(90,210,255,.65))}
 55%{clip-path:inset(0 0 0 0);filter:drop-shadow(-2px 0 rgba(255,70,140,.5)) drop-shadow(2px 0 rgba(90,210,255,.45))}
 100%{clip-path:inset(0 0 0 0);filter:none}}
@keyframes sfTmFade{from{opacity:0}to{opacity:1}}
html.sf-js body.sf-home .sf-tm-rule{transform:scaleX(0);transform-origin:left center}
html.sf-js body.sf-home .sf-tm-rule.is-in{animation:sfTmRule 1.1s cubic-bezier(.2,.7,.2,1) .15s forwards}
@keyframes sfTmRule{from{transform:scaleX(0)}to{transform:scaleX(1)}}
html.sf-js body.sf-home .sf-tm-item{opacity:0}
html.sf-js body.sf-home .sf-tm-item.is-in{animation:sfTmUp .62s cubic-bezier(.2,.7,.2,1) var(--sf-tm-delay,0ms) forwards}
@keyframes sfTmUp{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
html.sf-js body.sf-home .sf-tm-type .sf-tm-c{opacity:0}
html.sf-js body.sf-home .sf-tm-type.is-typing .sf-tm-c{animation:sfTmFade .01s linear forwards;animation-delay:calc(300ms + var(--i) * 26ms)}
/* カーソルは打ち終わってから文の最後で3回だけ点滅（打ち込み中は、未表示の文字も場所を取るので文末に先に出てしまうため出さない） */
html.sf-js body.sf-home .sf-tm-type.is-typed::after{content:"";display:inline-block;width:.5em;height:1.05em;margin-left:2px;vertical-align:-.15em;background:currentColor;opacity:0;animation:sfTmCaret .9s steps(1) 3}
@keyframes sfTmCaret{0%,49%{opacity:1}50%,100%{opacity:0}}
@media (prefers-reduced-motion:reduce){html.sf-js body.sf-home .sf-tm-head .sf-en,html.sf-js body.sf-home .sf-tm-head .sf-jp,html.sf-js body.sf-home .sf-tm-rule,html.sf-js body.sf-home .sf-tm-item,html.sf-js body.sf-home .sf-tm-type .sf-tm-c{clip-path:none!important;opacity:1!important;transform:none!important;animation:none!important;filter:none!important}html.sf-js body.sf-home .sf-tm-type::after{display:none}}

/* 2026-09-14 事業カードの写真のずれ（スマホで音楽レーベルのカードが画面に入ると高さ0→257px に伸び CLS 0.038）：
   body.sf-wordpress .sf-prose img{width:auto!important} が .sf-service-cards の width:100% を上書きし、読み込み前は幅0＝高さ0だった。カードの写真だけ幅いっぱい・4:3 を強く指定して場所を先に確保 */
/* グリッチ演出（fx-github.js）が写真を包む div を足して figure が article の直下でなくなるので、子孫の指定にする */
body.sf-wordpress .sf-prose .sf-service-cards .sf-domain figure img,body.sf-wordpress .sf-service-cards .sf-domain figure img{width:100%!important;max-width:100%!important;height:auto!important;aspect-ratio:4/3!important;object-fit:cover}


/* 2026-09-16 井埜さん「圧倒的にSEOとAEOに強いページにして」「全部網羅できるようなサイトにして」
   サービスページに足した3つの段：SEO/AEO・費用の決まり方・対応エリア。既存の sf-bc-* と同じ細線と余白で組む。 */
.sf-bc-seoaeo,.sf-bc-price,.sf-bc-area{padding:20px 0 80px}
.sf-bc-seoaeo header,.sf-bc-price header,.sf-bc-area header{margin-bottom:26px}
.sf-bc-seoaeo h2,.sf-bc-price h2,.sf-bc-area h2{font-size:28px!important;line-height:1.8;margin:12px 0 0}
.sf-bc-seoaeo-lead,.sf-bc-price-lead{max-width:860px;font-size:15px;line-height:2.1;margin:0 0 38px}
.sf-bc-price-wrap{overflow-x:auto}
.sf-bc-price-table{width:100%;border-collapse:collapse;font-size:14.5px;line-height:2}
.sf-bc-price-table thead th{text-align:left;font-size:12px;letter-spacing:.06em;color:#bdb3a2;border-bottom:1px solid #777;padding:0 20px 12px 0;font-weight:400}
.sf-bc-price-table tbody th{text-align:left;width:230px;vertical-align:top;padding:18px 20px 18px 0;border-bottom:1px solid #3a3a3a;font-size:15px;font-weight:400;color:#f0ebe0}
.sf-bc-price-table tbody td{vertical-align:top;padding:18px 0;border-bottom:1px solid #3a3a3a;color:#ded8cc}
.sf-bc-price-note,.sf-bc-area-note{font-size:13px;line-height:2;color:#9e9585;margin:22px 0 0;max-width:860px}
.sf-bc-area p{font-size:15px;line-height:2.1;margin:0 0 18px;max-width:860px}
.sf-bc-area-list{margin:34px 0 0;padding:0}
.sf-bc-area-list>div{display:grid;grid-template-columns:190px 1fr;gap:24px;border-top:1px solid #3a3a3a;padding:16px 0}
.sf-bc-area-list dt{font-size:14px;color:#bdb3a2;margin:0}
.sf-bc-area-list dd{margin:0;font-size:14.5px;line-height:2;color:#ded8cc}
.sf-visually-hidden{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
@media(max-width:700px){
 .sf-bc-seoaeo,.sf-bc-price,.sf-bc-area{padding:10px 0 45px}
 .sf-bc-seoaeo h2,.sf-bc-price h2,.sf-bc-area h2{font-size:21px!important}
 .sf-bc-seoaeo-lead,.sf-bc-price-lead,.sf-bc-area p{font-size:14px;line-height:2}
 .sf-bc-price-table,.sf-bc-price-table tbody,.sf-bc-price-table tr,.sf-bc-price-table tbody th,.sf-bc-price-table tbody td{display:block;width:auto}
 .sf-bc-price-table thead{display:none}
 .sf-bc-price-table tbody th{padding:18px 0 6px;border:0;font-size:16px}
 .sf-bc-price-table tbody td{padding:0 0 18px;border-bottom:1px solid #3a3a3a;font-size:14px}
 .sf-bc-area-list>div{grid-template-columns:1fr;gap:6px}
}

/* 2026-09-16 井埜さん「SEOとかのページってページから推移できる場所なくない？」
   5部門ナビの下に、SEO・AEO対策への1行を置く（6つ目の部門にはしない）。 */
.sf-bc-units-extra{margin:6px 0 0;padding:0 0 6px;text-align:left}
.sf-bc-units-extra::before{content:"Webサイトの検索対策：";font-size:12px;letter-spacing:.04em;color:#bdb3a2}
.sf-bc-units-extra a{font-size:13px;letter-spacing:.04em;color:#e6a275;text-decoration:none;border-bottom:1px solid rgba(230,162,117,.4);padding-bottom:2px}
.sf-bc-units-extra a[aria-current="page"]{color:#f0ebe0;border-bottom-color:rgba(240,235,224,.5)}
@media(max-width:700px){.sf-bc-units-extra{text-align:left;margin-top:2px}.sf-bc-units-extra a{font-size:12.5px}}

/* 2026-09-16 /works/ の1ページ目の下に置く「すべての制作実績」。
   Search Console で実績3件が一度もクロールされていなかった（4〜5ページ目にしか無かった）ため、
   どの実績にも1クリックで届く道を作る。写真は出さず、文字のリンクだけで軽くする。 */
.sf-works-all{max-width:1200px;margin:60px auto 0;padding:34px 24px 0;border-top:1px solid #3a3a3a}
.sf-works-all h2{font-size:15px!important;font-weight:400;letter-spacing:.06em;color:#bdb3a2;margin:0 0 22px}
.sf-works-all ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:0 32px}
.sf-works-all li{border-bottom:1px solid #2f2f2f}
.sf-works-all a{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:11px 0;font-size:13.5px;line-height:1.7;color:#ded8cc;text-decoration:none}
.sf-works-all a:hover{color:#e6a275}
.sf-works-all small{flex:none;font-size:11px;color:#8a8478;letter-spacing:.04em}
@media(max-width:900px){.sf-works-all ul{grid-template-columns:repeat(2,1fr);gap:0 20px}}
@media(max-width:600px){.sf-works-all{margin-top:40px;padding:24px 16px 0}.sf-works-all ul{grid-template-columns:1fr}.sf-works-all a{font-size:13px}}

/* 2026-09-16 /voice/ が /news/ と同じページだと判定されていたため、このページにしか無い説明とFAQを足した。 */
.sf-voice-about{max-width:900px;margin:70px auto 0;padding:40px 24px 0;border-top:1px solid #3a3a3a}
.sf-voice-about h2{font-size:21px!important;line-height:1.8;margin:34px 0 16px;font-weight:400}
.sf-voice-about h2:first-child{margin-top:0}
.sf-voice-about p{font-size:15px;line-height:2.1;margin:0 0 16px;color:#ded8cc}
.sf-voice-legend{list-style:none;margin:20px 0 0;padding:0}
.sf-voice-legend li{border-top:1px solid #3a3a3a;padding:13px 0;font-size:14px;line-height:1.9;color:#ded8cc;display:grid;grid-template-columns:180px 1fr;gap:16px}
.sf-voice-legend b{font-weight:400;color:#e6a275;font-size:13px;letter-spacing:.04em}
.sf-voice-faq article{border-top:1px solid #3a3a3a;padding:20px 0}
.sf-voice-faq h3{font-size:16px!important;line-height:1.8;margin:0 0 10px;font-weight:400;color:#f0ebe0}
.sf-voice-faq p{font-size:14px;line-height:2;margin:0;color:#ded8cc}
@media(max-width:700px){.sf-voice-about{margin-top:44px;padding:26px 16px 0}.sf-voice-about h2{font-size:18px!important}.sf-voice-about p{font-size:14px;line-height:2}.sf-voice-legend li{grid-template-columns:1fr;gap:4px}}

/* 2026-09-17 記事の下の「関連する事業／制作実績から」。
   点検でお知らせ44本・お客様の声10本・Journal 4本の本文内リンクが4本以下だったため追加。 */
.sf-related{max-width:1100px;margin:70px auto 0;padding:36px 24px 0;border-top:1px solid #3a3a3a;display:grid;grid-template-columns:1fr 1fr;gap:40px}
.sf-related-col h2{font-size:13px!important;font-weight:400;letter-spacing:.08em;color:#bdb3a2;margin:0 0 16px}
.sf-related-col ul{list-style:none;margin:0;padding:0}
.sf-related-col li{border-bottom:1px solid #2f2f2f}
.sf-related-col a{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:12px 0;font-size:14.5px;line-height:1.7;color:#ded8cc;text-decoration:none}
.sf-related-col a:hover{color:#e6a275}
.sf-related-col small{display:block;font-size:11px;color:#8a8478;letter-spacing:.04em;margin-top:3px}
.sf-related-more{margin:16px 0 0}
.sf-related-more a{font-size:13px;color:#e6a275;text-decoration:none;border-bottom:1px solid rgba(230,162,117,.4);padding-bottom:2px}
@media(max-width:700px){.sf-related{grid-template-columns:1fr;gap:26px;margin-top:44px;padding:24px 16px 0}.sf-related-col a{font-size:14px}}

/* 2026-09-17 事業領域（/service/）の下に置く全事業の一覧とよくある質問。
   1,221字と薄く、全事業への入口も無かったため。 */
.sf-svc-all{max-width:1000px;margin:70px auto 0;padding:40px 24px 0;border-top:1px solid #3a3a3a}
.sf-svc-all h2{font-size:22px!important;line-height:1.8;margin:36px 0 18px;font-weight:400}
.sf-svc-all h2:first-child{margin-top:0}
.sf-svc-lead{font-size:15px;line-height:2.1;margin:0 0 30px;color:#ded8cc}
.sf-svc-list{margin:0;padding:0}
.sf-svc-list>div{border-top:1px solid #3a3a3a;padding:16px 0;display:grid;grid-template-columns:270px 1fr;gap:24px}
.sf-svc-list dt{margin:0;font-size:15px;line-height:1.7}
.sf-svc-list dt a{color:#e6a275;text-decoration:none}
.sf-svc-list dt a:hover{border-bottom:1px solid rgba(230,162,117,.5)}
.sf-svc-list dd{margin:0;font-size:14px;line-height:1.95;color:#ded8cc}
.sf-svc-faq article{border-top:1px solid #3a3a3a;padding:18px 0}
.sf-svc-faq h3{font-size:16px!important;line-height:1.8;margin:0 0 9px;font-weight:400;color:#f0ebe0}
.sf-svc-faq p{font-size:14px;line-height:2;margin:0;color:#ded8cc}
@media(max-width:700px){.sf-svc-all{margin-top:44px;padding:26px 16px 0}.sf-svc-all h2{font-size:19px!important}.sf-svc-lead{font-size:14px;line-height:2}.sf-svc-list>div{grid-template-columns:1fr;gap:6px}.sf-svc-list dd{font-size:13.5px}}

/* 2026-09-17 実績の分類ページ（/works_cat/◯◯/）の説明文・要点・よくある質問。
   284〜355字しか無かったため。 */
.sf-wcat{max-width:1100px;margin:0 auto;padding:10px 24px 34px}
.sf-wcat-lead{font-size:15px;line-height:2.1;margin:0 0 34px;color:#ded8cc;max-width:900px}
.sf-wcat-points{display:grid;grid-template-columns:repeat(3,1fr);gap:32px;margin:0 0 34px}
.sf-wcat-points article{border-top:1px solid #3a3a3a;padding-top:20px}
.sf-wcat-points span{font-size:11px;color:#e6a275;letter-spacing:.08em}
.sf-wcat-points h2{font-size:16px!important;line-height:1.75;margin:12px 0 10px;font-weight:400;color:#f0ebe0}
.sf-wcat-points p{font-size:13.5px;line-height:1.95;margin:0;color:#ded8cc}
.sf-wcat-faq{border-top:1px solid #3a3a3a;padding-top:10px}
.sf-wcat-faq article{padding:14px 0;border-bottom:1px solid #2f2f2f}
.sf-wcat-faq h2{font-size:15px!important;line-height:1.8;margin:0 0 8px;font-weight:400;color:#f0ebe0}
.sf-wcat-faq p{font-size:13.5px;line-height:1.95;margin:0;color:#ded8cc}
.sf-wcat-more{margin:22px 0 0}
.sf-wcat-more a{font-size:13.5px;color:#e6a275;text-decoration:none;border-bottom:1px solid rgba(230,162,117,.4);padding-bottom:2px}
@media(max-width:900px){.sf-wcat-points{grid-template-columns:1fr;gap:20px}}
@media(max-width:700px){.sf-wcat{padding:6px 16px 26px}.sf-wcat-lead{font-size:14px;line-height:2}}

/* 2026-09-17 実績詳細の下の「この仕事で担当した事業／近い仕事」。47ページの内部リンクを増やすため。 */
.sf-case-related{max-width:1100px;margin:60px auto 0;padding:34px 24px 0;border-top:1px solid #3a3a3a;display:grid;grid-template-columns:1fr 1fr;gap:40px}
.sf-case-related h2{font-size:13px!important;font-weight:400;letter-spacing:.08em;color:#bdb3a2;margin:0 0 14px}
.sf-case-related ul{list-style:none;margin:0;padding:0}
.sf-case-related li{border-bottom:1px solid #2f2f2f}
.sf-case-related a{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:11px 0;font-size:14px;line-height:1.7;color:#ded8cc;text-decoration:none}
.sf-case-related a:hover{color:#e6a275}
.sf-case-related small{flex:none;font-size:11px;color:#8a8478;letter-spacing:.04em}
@media(max-width:700px){.sf-case-related{grid-template-columns:1fr;gap:24px;margin-top:40px;padding:24px 16px 0}}
.sf-vcat-h{font-size:20px!important;line-height:1.8;margin:0 0 16px;font-weight:400;color:#f0ebe0}

/* 2026-09-17 実績ページの「この仕事の種類で、当社が行っていること」。本文1,200字前後と薄かったため。 */
.sf-case-scope{max-width:1100px;margin:56px auto 0;padding:32px 24px 0;border-top:1px solid #3a3a3a}
.sf-case-scope>h2{font-size:19px!important;line-height:1.8;margin:0 0 8px;font-weight:400;color:#f0ebe0}
.sf-case-scope-note{font-size:12.5px;line-height:1.9;color:#8a8478;margin:0 0 24px}
.sf-case-scope-block{border-top:1px solid #2f2f2f;padding:18px 0}
.sf-case-scope-block h3{font-size:14px!important;font-weight:400;letter-spacing:.06em;color:#e6a275;margin:0 0 12px}
.sf-case-scope-block ul{list-style:none;margin:0;padding:0}
.sf-case-scope-block li{font-size:14px;line-height:1.95;color:#ded8cc;padding:7px 0 7px 20px;position:relative}
.sf-case-scope-block li::before{content:"—";position:absolute;left:0;color:#8a8478}
@media(max-width:700px){.sf-case-scope{margin-top:40px;padding:24px 16px 0}.sf-case-scope>h2{font-size:17px!important}.sf-case-scope-block li{font-size:13.5px}}

/* 2026-09-17 お知らせ・連載の一覧に置く分類の入口と関連リンク。587〜681字と薄く入口も無かったため。 */
.sf-arch-cats{display:flex;flex-wrap:wrap;gap:8px 10px;margin:22px 0 6px}
.sf-arch-cats a{display:inline-flex;align-items:baseline;gap:5px;padding:7px 13px;border:1px solid #3f3f3f;border-radius:999px;font-size:13px;color:#ded8cc;text-decoration:none;line-height:1}
.sf-arch-cats a:hover{border-color:#e6a275;color:#e6a275}
.sf-arch-cats a[aria-current="page"]{border-color:#e6a275;color:#f0ebe0;background:rgba(230,162,117,.12)}
.sf-arch-cats small{font-size:10.5px;color:#8a8478}
.sf-arch-links{display:flex;flex-wrap:wrap;gap:8px 16px;align-items:baseline;margin:20px 0 4px;font-size:13px}
.sf-arch-links span{color:#8a8478;font-size:12px;letter-spacing:.06em}
.sf-arch-links a{color:#e6a275;text-decoration:none;border-bottom:1px solid rgba(230,162,117,.35);padding-bottom:2px}
@media(max-width:700px){.sf-arch-cats{gap:7px 8px}.sf-arch-cats a{font-size:12.5px;padding:6px 11px}}

/* 2026-09-17 実績・お客様の声を厚くする段（進め方／よくある質問／会社／対応エリア）。 */
.sf-case-deep{max-width:1100px;margin:52px auto 0;padding:30px 24px 0;border-top:1px solid #3a3a3a}
.sf-case-deep h2{font-size:19px!important;line-height:1.8;margin:28px 0 16px;font-weight:400;color:#f0ebe0}
.sf-case-deep h2:first-child{margin-top:0}
.sf-case-deep>p{font-size:14.5px;line-height:2.05;margin:0 0 16px;color:#ded8cc;max-width:940px}
.sf-case-flow{list-style:none;margin:0 0 6px;padding:0;display:grid;grid-template-columns:repeat(5,1fr);gap:24px}
.sf-case-flow li{border-top:1px solid #2f2f2f;padding-top:16px}
.sf-case-flow span{font-size:11px;color:#e6a275;letter-spacing:.08em}
.sf-case-flow h3{font-size:15px!important;line-height:1.7;margin:9px 0 8px;font-weight:400;color:#f0ebe0}
.sf-case-flow p{font-size:13px;line-height:1.9;margin:0;color:#ded8cc}
.sf-case-deepfaq article{border-top:1px solid #2f2f2f;padding:16px 0}
.sf-case-deepfaq h3{font-size:15px!important;line-height:1.8;margin:0 0 8px;font-weight:400;color:#f0ebe0}
.sf-case-deepfaq p{font-size:13.5px;line-height:1.95;margin:0;color:#ded8cc}
.sf-case-deep-cta{display:flex;flex-wrap:wrap;gap:10px 20px;margin:24px 0 0}
.sf-case-deep-cta a{font-size:13.5px;color:#e6a275;text-decoration:none;border-bottom:1px solid rgba(230,162,117,.4);padding-bottom:2px}
@media(max-width:900px){.sf-case-flow{grid-template-columns:1fr 1fr;gap:18px}}
@media(max-width:700px){.sf-case-deep{margin-top:36px;padding:22px 16px 0}.sf-case-deep h2{font-size:17px!important}.sf-case-deep>p{font-size:13.5px;line-height:2}.sf-case-flow{grid-template-columns:1fr;gap:14px}}

/* 2026-09-17 井埜さん「文字多いな、全体的に、その間に画像とか入れたらいいんじゃない？特にworksなければ表とか図かな」
   実績・お客様の声の長い説明を、図（進め方の帯）と表に置き換えた。 */
.sf-case-figure{margin:0 0 22px;overflow-x:auto}
.sf-case-svg{display:block;width:100%;min-width:640px;height:auto}
.sf-case-flow-wrap{overflow-x:auto;margin:0 0 10px}
.sf-case-table{width:100%;border-collapse:collapse;font-size:14px;line-height:1.95}
.sf-case-table tbody th{text-align:left;width:250px;vertical-align:top;padding:14px 20px 14px 0;border-bottom:1px solid #3a3a3a;font-weight:400;color:#f0ebe0;font-size:14.5px}
.sf-case-table tbody th span{display:block;font-size:10.5px;color:#e6a275;letter-spacing:.08em;margin-bottom:4px;font-family:monospace}
.sf-case-table tbody td{vertical-align:top;padding:14px 0;border-bottom:1px solid #3a3a3a;color:#ded8cc}
.sf-case-table.is-faq tbody th{width:300px;color:#f0ebe0}
@media(max-width:700px){
 .sf-case-table,.sf-case-table tbody,.sf-case-table tr,.sf-case-table tbody th,.sf-case-table tbody td{display:block;width:auto}
 .sf-case-table tbody th{padding:16px 0 6px;border:0;font-size:15px}
 .sf-case-table tbody td{padding:0 0 16px;border-bottom:1px solid #3a3a3a;font-size:13.5px}
 .sf-case-figure{margin-bottom:16px}
}

/* 2026-09-17 事業ページ（3DCG・イルミネーション・音楽ほか）の表と図。語の羅列と折りたたみをやめた。 */
.sf-ch-tablewrap{overflow-x:auto;margin:14px 0 0}
.sf-ch-table{width:100%;border-collapse:collapse;font-size:14px;line-height:1.95}
.sf-ch-table tbody th{text-align:left;width:290px;vertical-align:top;padding:14px 20px 14px 0;border-bottom:1px solid #3a3a3a;font-weight:400;color:#f0ebe0;font-size:14.5px}
.sf-ch-table tbody td{vertical-align:top;padding:14px 0;border-bottom:1px solid #3a3a3a;color:#ded8cc}
.sf-ch-table.is-faq tbody th{width:320px}
.sf-ch-figure{margin:16px 0 6px;overflow-x:auto}
.sf-ch-svg{display:block;width:100%;min-width:620px;height:auto}
@media(max-width:700px){
 .sf-ch-table,.sf-ch-table tbody,.sf-ch-table tr,.sf-ch-table tbody th,.sf-ch-table tbody td{display:block;width:auto}
 .sf-ch-table tbody th{padding:15px 0 6px;border:0;font-size:15px}
 .sf-ch-table tbody td{padding:0 0 15px;border-bottom:1px solid #3a3a3a;font-size:13.5px}
}

/* 2026-09-17 事業ページの冒頭に置く「早わかり表」。文章を読む前に全体像が分かるように。 */
.sf-bc-quick{padding:0 0 46px}
.sf-bc-quick-wrap{overflow-x:auto;border-top:1px solid #3a3a3a}
.sf-bc-quick-table{width:100%;border-collapse:collapse;font-size:14px;line-height:1.95}
.sf-bc-quick-table tbody th{text-align:left;width:210px;vertical-align:top;padding:15px 22px 15px 0;border-bottom:1px solid #3a3a3a;font-weight:400;color:#e6a275;font-size:13px;letter-spacing:.04em}
.sf-bc-quick-table tbody td{vertical-align:top;padding:15px 0;border-bottom:1px solid #3a3a3a;color:#ded8cc;font-size:14.5px}
@media(max-width:700px){
 .sf-bc-quick{padding:0 0 32px}
 .sf-bc-quick-table,.sf-bc-quick-table tbody,.sf-bc-quick-table tr,.sf-bc-quick-table tbody th,.sf-bc-quick-table tbody td{display:block;width:auto}
 .sf-bc-quick-table tbody th{padding:14px 0 4px;border:0;font-size:12px}
 .sf-bc-quick-table tbody td{padding:0 0 14px;border-bottom:1px solid #3a3a3a;font-size:14px}
}

/* 2026-09-18 表と図が背景の絵（街並み・朝焼けの帯）に重なると読みにくかったため、
   セルと図の箱にだけ薄い地を敷く。箱に見せないよう罫線はそのまま、角も付けない。 */
.sf-bc-quick-table tbody th,.sf-bc-quick-table tbody td,
.sf-ch-table tbody th,.sf-ch-table tbody td{background:rgba(12,11,10,.58)}
.sf-bc-quick-table tbody th,.sf-ch-table tbody th{padding-left:14px}
.sf-bc-quick-table tbody td,.sf-ch-table tbody td{padding-right:14px}
.sf-ch-svg text,.sf-case-svg text{paint-order:stroke;stroke:rgba(12,11,10,.75);stroke-width:2.5px;stroke-linejoin:round}
@media(max-width:781px){
 .sf-bc-quick-table tbody th,.sf-ch-table tbody th{padding-left:12px;padding-right:12px}
 .sf-bc-quick-table tbody td,.sf-ch-table tbody td{padding-left:12px;padding-right:12px}
}

/* 2026-09-18 井埜さん「図が結構ズレてるね」：横並びの図をスマホ幅に縮めると文字が6〜9pxになって読めない。
   スマホでは横並びの図を隠し、同じ内容を縦に積んだ図（sf-fig-sp）に差し替える。
   同じ語が下の表や段リストにあるものは、図を隠すだけにしている。 */
.sf-fig-sp{display:none}
@media(max-width:781px){
 .sf-fig-pc{display:none!important}
 .sf-fig-sp{display:block;width:100%;height:auto;max-width:360px;margin:0 auto}
 .sf-bc-figure,.sf-ch-figure,.sf-case-figure{overflow-x:visible}
 .sf-bc-figure .sf-bc-svg,.sf-bc-figure.is-stages .sf-bc-svg{min-width:0}
 .sf-fig-sp text.jp{font-size:14px}
 .sf-fig-sp text.num{font-size:11px}
}

/* 2026-09-18 井埜さん「BUSINESSのここデカくない？ あと4枚くらいがスライドショーになる感じ」
   事業カードの写真を4枚の入れ替わりにし、大きさを抑える（/service/ の2列では写真が縦525px以上あった）。
   セレクタが長いのは、body.sf-wordpress .sf-prose .sf-service-cards .sf-domain>figure img{height:auto!important}
   （詳細度 0,4,3）に負けて写真が枠からはみ出したため。nth-child 側も同じ詳細度に揃える（揃えないと
   一括指定の animation が勝って4枚が同じ位相になり、7割の時間だけ真っ黒になる）。 */
.sf-domain-slides{position:relative;aspect-ratio:16/10;overflow:hidden;background:#1a1720;margin:0}
body.sf-wordpress .sf-business-domains .sf-service-cards .sf-domain>figure.sf-domain-slides img{position:absolute;left:0;top:0;width:100%!important;height:100%!important;max-height:none!important;min-height:0!important;object-fit:cover;opacity:0;animation:sfSlide4 20s infinite}
body.sf-wordpress .sf-business-domains .sf-service-cards .sf-domain>figure.sf-domain-slides img:nth-child(1){animation-name:sfSlide4First;animation-delay:0s}
body.sf-wordpress .sf-business-domains .sf-service-cards .sf-domain>figure.sf-domain-slides img:nth-child(2){animation-delay:5s}
body.sf-wordpress .sf-business-domains .sf-service-cards .sf-domain>figure.sf-domain-slides img:nth-child(3){animation-delay:10s}
body.sf-wordpress .sf-business-domains .sf-service-cards .sf-domain>figure.sf-domain-slides img:nth-child(4){animation-delay:15s}
@keyframes sfSlide4{0%{opacity:0}5%{opacity:1}25%{opacity:1}30%{opacity:0}100%{opacity:0}}
@keyframes sfSlide4First{0%{opacity:1}25%{opacity:1}30%{opacity:0}95%{opacity:0}100%{opacity:1}}
@media(prefers-reduced-motion:reduce){body.sf-wordpress .sf-business-domains .sf-service-cards .sf-domain>figure.sf-domain-slides img{animation:none;opacity:0}body.sf-wordpress .sf-business-domains .sf-service-cards .sf-domain>figure.sf-domain-slides img:first-child{opacity:1}}
/* 事業領域ページ（2列）では写真を大きくしすぎない */
.sf-business-opening~.sf-service-cards .sf-domain-slides{max-height:340px}
@media(max-width:781px){.sf-domain-slides{aspect-ratio:16/10;max-height:none}}
