/* Headerと本文に限定。既存Footerの表示規則を変更しない。 */
main.brand-main{--b-width:1280px;--b-gutter:clamp(20px,4vw,64px);--b-space:clamp(56px,7vw,112px);padding-top:0!important;color:var(--rise-ink)}
main.brand-main .b-container{width:100%;max-width:var(--b-width);margin-inline:auto;padding-inline:var(--b-gutter)}
main.brand-main .b-section{padding-block:var(--b-space);border-bottom:1px solid var(--rise-border)}
main.brand-main .b-hero{padding-block:clamp(48px,7vw,104px);background:var(--rise-paper);border-bottom:1px solid var(--rise-border)}
main.brand-main .b-eyebrow{font-size:11px;font-weight:800;letter-spacing:.14em;line-height:1.6;margin:0 0 24px;text-transform:uppercase;display:block;color:var(--rise-muted)}
main.brand-main h1,main.brand-main h2,main.brand-main h3{margin-top:0;overflow-wrap:normal;word-break:normal;line-break:strict;text-wrap:pretty}
main.brand-main h1,main.brand-main .b-title{font-size:clamp(34px,5.2vw,72px);font-weight:900;line-height:1.3;letter-spacing:-.035em;margin-bottom:24px}
main.brand-main h2{font-size:clamp(26px,3.4vw,48px);line-height:1.45;font-weight:800;letter-spacing:-.025em;margin-bottom:24px}
main.brand-main h3{font-size:clamp(19px,1.8vw,24px);line-height:1.5;margin-bottom:16px}
main.brand-main p,main.brand-main li{font-size:16px;line-height:1.9;overflow-wrap:anywhere}
main.brand-main .b-lead{font-size:clamp(16px,1.6vw,20px);max-width:760px;line-height:1.9;color:var(--rise-muted);margin-bottom:32px}
main.brand-main .b-grid{display:grid;gap:32px}main.brand-main .b-grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}main.brand-main .b-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}
main.brand-main .b-card{padding:32px 0;border-top:1px solid var(--rise-border);min-width:0;text-decoration:none;color:inherit;display:block}
main.brand-main .b-card p{color:var(--rise-muted);margin-bottom:20px}main.brand-main .b-card:hover h3{text-decoration:underline;text-underline-offset:6px}
main.brand-main .b-number{display:block;font-size:clamp(44px,6vw,88px);font-weight:900;letter-spacing:-.05em;line-height:1.2;margin-bottom:16px;white-space:nowrap}
main.brand-main .b-tag{display:inline-block;font-size:11px;font-weight:700;letter-spacing:.1em;color:var(--rise-muted);margin-bottom:16px}
main.brand-main .b-link{display:inline-block;padding-block:10px;font-size:14px;font-weight:700;color:inherit;text-decoration:underline;text-underline-offset:6px}
main.brand-main .b-button{display:inline-flex;justify-content:center;align-items:center;gap:24px;min-height:52px;padding:16px 28px;background:var(--rise-accent);border:1px solid var(--rise-accent);color:var(--rise-black);text-decoration:none;font-size:14px;font-weight:800;line-height:1.6}
main.brand-main .b-button:hover{background:var(--rise-ink);color:var(--rise-paper);border-color:var(--rise-ink)}
main.brand-main .b-button-light{background:transparent;border-color:currentColor;color:inherit}
main.brand-main .b-dark{background:var(--rise-ink);color:var(--rise-paper)}main.brand-main .b-dark .b-lead,main.brand-main .b-dark .b-eyebrow,main.brand-main .b-dark .b-tag,main.brand-main .b-dark .b-card p{color:var(--rise-border)}
main.brand-main .b-dark .b-card{border-color:var(--rise-muted)}main.brand-main .b-dark .b-button-light:hover{background:var(--rise-paper);color:var(--rise-ink)}
main.brand-main .b-row{padding:28px 0;border-top:1px solid var(--rise-border);display:flex;gap:32px;justify-content:space-between;align-items:center;color:inherit;text-decoration:none}
main.brand-main .b-section-heading{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:40px}main.brand-main .b-section-heading>*{margin-bottom:0}
main.brand-main .b-breadcrumb{font-size:12px;margin-bottom:32px;color:var(--rise-muted)}main.brand-main .b-breadcrumb a{color:inherit;text-underline-offset:4px}
main.brand-main .b-actions{display:flex;flex-wrap:wrap;gap:16px;margin-top:32px}main.brand-main .b-nobr{display:inline-block;white-space:nowrap}
main.brand-main .b-home-hero{padding:clamp(40px,5vw,80px) 0 40px}main.brand-main .b-home-hero .b-hero-grid{display:grid;grid-template-columns:1.7fr 1fr;gap:6%;align-items:end}
main.brand-main .b-home-hero h1{font-size:clamp(52px,8vw,116px);line-height:1.12;letter-spacing:-.045em;margin:24px 0 36px}main.brand-main .b-home-hero h1 span{display:block;white-space:nowrap}
main.brand-main .b-hero-side{border-top:3px solid var(--rise-accent);padding-top:24px}main.brand-main .b-hero-side p{font-size:14px;line-height:1.9}
main.brand-main .b-hero-discipline{font-size:clamp(14px,1.3vw,19px);font-weight:800;letter-spacing:.07em;margin:0 0 24px;line-height:1.65}
main.brand-main .b-hero-bottom{display:flex;justify-content:space-between;margin-top:56px;border-top:1px solid var(--rise-border);padding-top:20px;font-size:10px;letter-spacing:.12em;color:var(--rise-muted)}
main.brand-main .b-impact{padding:40px 0}main.brand-main .b-impact .b-grid{gap:32px}main.brand-main .b-impact .b-number{font-size:clamp(44px,5vw,72px)}main.brand-main .b-impact h3{font-size:15px;margin-bottom:8px}main.brand-main .b-impact p{font-size:12px;color:var(--rise-muted)}
main.brand-main .b-step{display:grid;grid-template-columns:48px 1fr;gap:24px;padding-block:24px;border-top:1px solid var(--rise-border)}main.brand-main .b-step strong{font-size:12px;padding-top:5px;color:var(--rise-muted)}
main.brand-main .b-capabilities .b-card{padding:36px 0}main.brand-main .b-capabilities h3{font-size:clamp(21px,2.4vw,32px)}
main.brand-main .b-fact-note{font-size:12px;color:var(--rise-muted);margin-top:24px}
.brand-header .desktop-nav{gap:clamp(14px,1.7vw,28px)}.brand-header .desktop-nav>a{font-size:12px!important;letter-spacing:.045em!important}.brand-header .desktop-nav small{font-size:10px!important}
.brand-header .desktop-nav .language-link{padding-left:16px!important}.brand-header .desktop-nav>a[href="/contact/"]{min-width:104px!important;padding-inline:18px!important}
.brand-header .mobile-panel nav a span{font-size:clamp(18px,4.7vw,24px)}.brand-header .mobile-panel nav{gap:0 24px}
@media(max-width:1199px){.brand-header .desktop-nav{display:none!important}.brand-header .menu-trigger{display:block!important}}
@media(min-width:1200px){.brand-header .desktop-nav{display:flex!important}.brand-header .menu-trigger{display:none!important}}
@media(max-width:767px){main.brand-main .b-grid-2,main.brand-main .b-grid-3{grid-template-columns:1fr}main.brand-main .b-home-hero .b-hero-grid{grid-template-columns:1fr;gap:32px}main.brand-main .b-home-hero h1{font-size:clamp(48px,11vw,80px)}main.brand-main .b-hero-side{max-width:520px}main.brand-main .b-hero-bottom{margin-top:32px}main.brand-main .b-section-heading{display:block;margin-bottom:32px}main.brand-main .b-section-heading .b-link{margin-top:12px}main.brand-main .b-row{gap:20px;align-items:start}main.brand-main .b-grid{gap:20px}main.brand-main .b-impact .b-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}main.brand-main .b-impact .b-number{font-size:clamp(28px,7.5vw,48px)}main.brand-main .b-impact h3{font-size:12px}main.brand-main .b-impact p{font-size:11px}main.brand-main .b-button{padding:14px 20px}main.brand-main .b-step{gap:12px;grid-template-columns:32px 1fr}}
@media(prefers-reduced-motion:reduce){.brand-header *, main.brand-main *{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
/* 既存個別ページの本文に共通の幅・間隔を適用する。 */
main.brand-main.legacy-main>section{padding:clamp(48px,6vw,96px) var(--b-gutter)}
main.brand-main.legacy-main>section:first-child{padding-top:clamp(48px,6vw,96px)}
main.brand-main.legacy-main>section>div{max-width:1152px;margin-inline:auto}
main.brand-main.legacy-main>section>h2{max-width:1152px;margin-inline:auto}
main.brand-main.legacy-main h1{font-size:clamp(30px,5vw,68px);line-height:1.35;letter-spacing:-.035em}
main.brand-main.legacy-main h2{font-size:clamp(25px,3.2vw,44px);line-height:1.5}
main.brand-main.legacy-main h3{font-size:clamp(19px,1.9vw,25px);line-height:1.5}
main.brand-main.legacy-main table{width:100%;font-size:14px}
main.brand-main.legacy-main table th,main.brand-main.legacy-main table td{overflow-wrap:anywhere}
main.brand-main.legacy-main .grid{gap:24px}
main.brand-main.legacy-main p{max-width:100%}
main.brand-main.legacy-main [class*="rounded"]{border-radius:0}
main.brand-main.legacy-main a{overflow-wrap:anywhere}
main.brand-main.legacy-main li>i{flex-shrink:0}
main.brand-main.marketing-page h1{font-size:clamp(17px,6.2cqw,68px);white-space:nowrap}
@media(max-width:767px){main.brand-main.legacy-main>section{padding-inline:20px}main.brand-main.legacy-main table{font-size:12px}main.brand-main.legacy-main th,main.brand-main.legacy-main td{padding:12px 8px}main.brand-main.legacy-main h1{font-size:clamp(30px,7vw,48px)}main.brand-main.marketing-page h1{font-size:clamp(17px,6.2cqw,48px)}main.brand-main.legacy-main [class*="p-8"],main.brand-main.legacy-main [class*="p-12"]{padding:24px}}
main.brand-main .b-impact h2.b-eyebrow{font-size:11px;letter-spacing:.14em;line-height:1.6;margin-bottom:24px}

@font-face{font-family:"Noto Sans JP";font-style:normal;font-weight:400 900;font-display:swap;src:url("../fonts/brand-supplement.woff2") format("woff2");unicode-range:U+2190,U+5076,U+56F0,U+5A92,U+5F62,U+5FB4,U+6349,U+6709,U+767D,U+7B4B,U+8A0E,U+9053}
main.brand-main .b-number .b-result-label{display:block;font-size:14px;line-height:1.6;letter-spacing:.025em;font-weight:700;margin-bottom:12px}

