/* author: codex; model: gpt-6-astra; updated: 2026-09-11 */
/* One geometry for circular link icons, including flex sizing. */
body .arrow,body .b2b-nav-arrow,body .home-service__link>span:last-child,body .card-arrow{--icon-size:clamp(24px,2.2vw,30px);display:inline-flex!important;align-items:center;justify-content:center;box-sizing:border-box;inline-size:var(--icon-size)!important;block-size:var(--icon-size)!important;min-inline-size:var(--icon-size);max-inline-size:var(--icon-size);min-block-size:var(--icon-size);max-block-size:var(--icon-size);flex:0 0 var(--icon-size)!important;aspect-ratio:1!important;line-height:1!important;font-size:calc(var(--icon-size)*.56)!important;padding:0!important;border-radius:50%!important;margin:0 0 0 .4em;transform:none}
body a:hover .arrow,body a:hover .b2b-nav-arrow{transform:translateX(2px)!important}
body :is(.b2b-button,.contact-button,.text-link,.home-service__link){gap:clamp(12px,1.6vw,22px);max-width:100%;box-sizing:border-box}
body .b2b-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:12px}
body .b2b-actions .b2b-button{width:auto;margin:0}
body :is(.b2b-button,.contact-button){min-height:48px;line-height:1.5}
body .b2b-nav a{justify-content:space-between}
body .b2b-nav a:last-child{grid-column:auto;justify-content:space-between}
body .b2b-nav-arrow{border-color:#a8a091}
body .b2b-nav a:hover .b2b-nav-arrow{transform:translateX(2px)}
.b2b-page{--ui-ink:#302d27;--ui-muted:#69665e;--ui-line:#dcd7cc;color:var(--ui-ink)}
.b2b-page .b2b-section{padding-block:clamp(52px,6vw,88px)}
.b2b-page .b2b-heading{margin-bottom:32px}
.b2b-page .b2b-heading h2{font-size:clamp(28px,3.2vw,44px);font-weight:500;line-height:1.55;letter-spacing:.035em}
.b2b-page .b2b-label{font-size:10px;letter-spacing:.15em;color:#76653d;margin-bottom:14px!important}
.b2b-page .b2b-note{color:var(--ui-muted);font-size:11px!important}
.b2b-needs{gap:20px}.b2b-needs article{padding:24px!important;border-radius:12px!important}.b2b-needs h3{font-weight:600!important;font-size:20px!important}.b2b-needs p{line-height:1.9!important}
/* Metrics do not share typography selectors with labels. */
.business-audience{max-width:1120px;margin:0 auto;padding:72px 0;color:var(--ui-ink)}
.audience-intro{display:grid;grid-template-columns:1fr 1fr;gap:0 30px;align-items:end;margin-bottom:30px}.audience-intro .b2b-label{grid-column:1/-1}.audience-intro h2{font-size:clamp(28px,3vw,42px);line-height:1.5}.audience-intro>p:last-child{font-size:13px;color:var(--ui-muted);text-align:right}
.audience-totals{display:grid;grid-template-columns:1.45fr 1fr 1fr;gap:14px}.audience-totals article{background:#f4f1e9;border:1px solid #e5dfd1;border-radius:14px;padding:28px;min-width:0}.audience-totals .audience-total{background:#343d34;color:white;border-color:#343d34}.b2b-page .metric-label{font-size:13px;font-weight:600;line-height:1.5;margin:0 0 20px}.b2b-page .metric-value{display:flex;gap:5px;align-items:baseline;white-space:nowrap;font-family:var(--sans);font-variant-numeric:tabular-nums;letter-spacing:-.045em;font-weight:600;font-size:clamp(36px,4vw,58px);line-height:1.15;margin:0}.metric-value [data-count],.metric-value [data-count]>span:not(.metric-accessible){font:inherit;letter-spacing:inherit}.metric-value small{font-size:14px;letter-spacing:0;font-weight:400}.b2b-page .metric-caption{font-size:11px;color:#706b60;line-height:1.6;margin:15px 0 0}.audience-total .metric-caption{color:#d6ddd4}
.audience-ages{margin-top:24px;border:1px solid var(--ui-line);border-radius:14px;padding:28px 32px}.age-heading{display:flex;align-items:baseline;justify-content:space-between;gap:18px;margin-bottom:20px}.age-heading h3{font-size:18px!important;font-weight:600!important}.age-heading p{font-size:11px;color:var(--ui-muted)}.audience-age{display:grid;grid-template-columns:88px 1fr 66px 100px;gap:20px;align-items:center;min-height:40px;border-bottom:1px solid #f0ede6;font-size:13px}.age-bar{height:8px;background:#f5f2eb;border-radius:8px;overflow:hidden}.age-bar i{display:block;background:#8b9b7f;height:100%;min-width:1px;border-radius:8px}.audience-age strong{font-size:16px;text-align:right;font-variant-numeric:tabular-nums}.audience-age strong small{font-size:11px;font-weight:400;margin-left:3px}.age-count{text-align:right;font-size:12px;color:#625f57;font-variant-numeric:tabular-nums}.b2b-page .audience-source{font-size:10px;line-height:1.8;color:#78756b;margin-top:18px}
/* Service boundaries: numbered headings + tint + disclosure controls. */
.b2b-services-integrated .service-panel{--panel:#f4f0dc;--panel-accent:#8b7942;background:var(--panel);border:1px solid #ddd6c4;border-left:4px solid var(--panel-accent);border-radius:14px;margin:18px 0;overflow:clip;scroll-margin-top:100px}.service-panel-2{--panel:#edf2e8!important;--panel-accent:#657c58!important}.service-panel-3{--panel:#f6ede7!important;--panel-accent:#9a6d50!important}.service-panel-4{--panel:#edf0f3!important;--panel-accent:#637888!important}.service-panel-5{--panel:#f2edf4!important;--panel-accent:#8a7192!important}
.service-summary{display:flex;gap:28px;justify-content:space-between;align-items:center;cursor:pointer;padding:28px 32px;list-style:none}.service-summary::-webkit-details-marker,.business-more>summary::-webkit-details-marker{display:none}.service-summary .b2b-service-intro{min-width:0}.service-summary .b2b-label{color:var(--panel-accent)}.service-summary h3{font-size:clamp(22px,2.4vw,30px);font-weight:600!important;line-height:1.45;margin:0 0 12px;letter-spacing:.01em}.service-summary .b2b-service-intro>p:last-child{font-size:13px;line-height:1.85;max-width:650px;margin:0;color:#59564f}.service-toggle{display:flex;gap:12px;align-items:center;flex-shrink:0;font-size:11px}.service-toggle i{font-style:normal;width:32px;height:32px;flex:0 0 32px;display:grid;place-items:center;border:1px solid #aba492;border-radius:50%;font-size:21px}.service-panel[open] .service-toggle i{transform:rotate(45deg)}.service-panel[open] .service-summary{border-bottom:1px solid #0000000d}
.service-body{padding:30px}.b2b-services-integrated .b2b-service-examples{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:center;gap:28px;max-width:none;width:100%;margin:0}.service-close{display:flex;align-items:center;justify-content:center;gap:18px;font:inherit;font-size:12px;min-height:44px;padding:10px 22px;margin:28px 0 0 auto;border:1px solid #c4bdac;border-radius:40px;background:#fffdf8;color:#443f33;cursor:pointer}.service-close:focus-visible,.service-summary:focus-visible,.business-more>summary:focus-visible{outline:3px solid #827343;outline-offset:3px}
/* Line-drawn phone with a real profile image and familiar outline controls. */
.b2b-services-integrated .b2b-case-card{width:320px;max-width:100%;flex:0 0 320px;background:#fff;border:2px solid #383a36;border-radius:32px;padding:18px 7px 12px;box-shadow:0 6px 0 #302d2707;overflow:hidden;position:relative}.b2b-case-card::before{content:"";display:block;width:52px;height:4px;border-radius:9px;background:#4b4c45;margin:0 auto 7px}.b2b-case-card::after{content:"";display:block;width:80px;height:4px;border-radius:9px;background:#4b4c45;margin:16px auto 0}.b2b-services-integrated .b2b-case-card>div.b2b-post-header{padding:10px 9px;gap:9px;font-size:11px;line-height:1.4}.b2b-post-header .b2b-post-avatar{display:block;width:32px!important;height:32px!important;aspect-ratio:1;flex:0 0 32px;object-fit:cover;border-radius:50%;border:1px solid #e3ded3;padding:0}.b2b-post-header small{font-size:9px}.b2b-services-integrated .b2b-case-card>img{aspect-ratio:4/5;object-fit:cover;height:auto;display:block;width:100%;border-radius:0}.b2b-services-integrated .b2b-case-card>div.b2b-post-actions{padding:12px 9px 0;gap:13px;display:flex;align-items:center;color:#171717}.b2b-post-actions svg{width:22px;height:22px;flex:0 0 22px;display:block}.b2b-post-actions>span{margin-left:auto}.b2b-services-integrated .b2b-case-card>.b2b-post-caption{padding:12px 10px 0}.b2b-post-caption .b2b-case-company{font-size:10px;font-weight:600}.b2b-post-caption h4{font-size:16px;font-weight:600;line-height:1.6;margin:9px 0}.b2b-post-caption p{font-size:11px;line-height:1.8!important}.b2b-post-caption .b2b-textlink{font-size:11px;margin-top:10px}.b2b-post-caption .b2b-note{font-size:10px!important;margin-top:12px}.b2b-book-work{max-width:500px;background:white;border-radius:12px}
.business-more{border:1px solid #ddd7c9;border-radius:12px;padding:0 24px;margin-top:24px;background:#fffdf9}.business-more>summary{display:flex;justify-content:space-between;align-items:center;gap:18px;font-size:15px;font-weight:500;cursor:pointer;padding:21px 0;list-style:none;min-height:64px}.business-more>summary>span{font-size:22px;flex-shrink:0}.business-more[open]>summary>span{transform:rotate(45deg)}.business-more .b2b-company-list{margin:0;padding:0 0 24px;border:0}.business-more .b2b-voice-columns{padding:12px 0}.business-more>.b2b-note{margin-bottom:24px}.company-logo{min-height:96px!important}
@media(max-width:1200px){.business-audience{margin-inline:40px}.metric-value{font-size:42px!important}.audience-totals article{padding:24px 20px}}
@media(max-width:767px){.business-audience{margin:0;padding:44px 24px}.audience-intro{display:block}.audience-intro h2{font-size:29px}.audience-intro>p:last-child{text-align:left;margin-top:14px;font-size:12px}.audience-totals{grid-template-columns:1fr 1fr;gap:10px}.audience-totals .audience-total{grid-column:1/-1;padding:24px}.audience-totals article{padding:20px 16px}.b2b-page .metric-value{font-size:36px!important;gap:3px}.b2b-page .audience-total .metric-value{font-size:58px!important}.metric-value small{font-size:12px}.b2b-page .metric-label{font-size:12px;margin-bottom:14px}.b2b-page .metric-caption{font-size:10px;margin-top:12px}.audience-ages{padding:22px 16px}.age-heading h3{font-size:16px!important}.age-heading p{font-size:9px}.audience-age{grid-template-columns:68px 1fr 48px 76px;gap:8px;font-size:11px;min-height:37px}.audience-age strong{font-size:14px}.age-count{font-size:10px}.age-bar{height:6px}.b2b-page .audience-source{font-size:10px}
.b2b-page .b2b-section{padding:44px 24px}.b2b-needs{gap:12px}.b2b-needs article{padding:20px!important}.b2b-needs h3{font-size:19px!important;margin:10px 0}.b2b-needs p{font-size:12px}.b2b-needs article>.mariko-icon{display:none}.b2b-page .b2b-heading{margin-bottom:24px}.b2b-page .b2b-heading h2{font-size:28px}.service-summary{padding:22px 18px;display:grid;grid-template-columns:1fr 28px;gap:10px}.service-summary h3{font-size:22px}.service-summary .b2b-service-intro>p:last-child{font-size:12px}.service-toggle>span{display:none}.service-toggle i{width:28px;height:28px;flex-basis:28px}.service-body{padding:22px 14px}.b2b-services-integrated .b2b-service-examples{display:grid;grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:100%;justify-content:start;gap:16px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;padding-bottom:14px;scrollbar-width:thin}.b2b-services-integrated .b2b-case-card{width:100%;max-width:320px;min-width:0;justify-self:center;scroll-snap-align:start;box-sizing:border-box}.service-body:has(.b2b-case-card+.b2b-case-card)::before{content:"横にスワイプして他の実績を見る →";display:block;font-size:10px;text-align:right;color:#6f6859;margin-bottom:12px}.service-close{margin:16px 0 0 auto}.business-more{padding:0 16px}.business-more>summary{font-size:13px}.business-more .b2b-voice-columns{gap:22px}.b2b-paper-grid{gap:24px}.b2b-hero-editorial .b2b-hero-photo{max-width:250px!important}.b2b-hero-editorial .b2b-actions{display:flex}.b2b-actions .b2b-button{width:auto!important}.b2b-hero-editorial .b2b-hero-copy h1{font-size:30px}.b2b-nav-wrap{padding:22px 24px!important}.b2b-nav-wrap .b2b-nav{padding:0;gap:8px 16px}.b2b-nav a{padding:12px 0!important;font-size:11px!important;min-height:44px!important}.b2b-hero-tags{line-height:1.8}
}
@media(prefers-reduced-motion:reduce){body a:hover .arrow,body a:hover .b2b-nav-arrow{transform:none!important}}
