.site-main--company-page { position: relative; display: flow-root; min-width: 1200px; background: linear-gradient(180deg, #fff 0 12px, #ecefff 12px); color: #000; }
.company-page__inner { position: relative; width: 1200px; margin: 0 auto; }
.company-page__breadcrumb { background: #f5f5f5; }
.company-page__breadcrumb a { text-decoration: none; }
.company-page__header { display: flex; width: 1200px; height: 56px; margin: 42px auto 0; align-items: center; gap: 28px; }
.company-page__header h1 { margin: 0; background: var(--gradient-brand); background-clip: text; -webkit-background-clip: text; color: transparent; font-size: 40px; line-height: 1.4; letter-spacing: 2px; }
.company-page__header span { font-size: 20px; font-weight: 400; line-height: 1.8; }
.company-page__body { display: grid; align-items: start; grid-template-columns: minmax(0, 1fr); }
.company-page__sections, .company-page__side-track { grid-area: 1 / 1; }
.company-page__side-track { position: sticky; z-index: 5; top: var(--ds-course-side-nav-sticky-top, 90px); width: 1200px; margin: 50px auto 0; pointer-events: none; }
.company-side-nav { width: 310px; padding: 0 29px; margin-left: auto; background: transparent; pointer-events: auto; }
.company-side-nav h2 { margin: 0 0 15px; color: #111; font-size: 16px; line-height: 1.4; }
.company-side-nav a { display: block; padding: 0; margin: 0; color: #919191; font-size: 14px; line-height: 2; text-decoration: none; }
.company-side-nav a::before { margin-right: 9px; color: #5cb702; font-size: 10px; content: "○"; }
.company-side-nav a.is-active { color: #000; font-weight: 700; }
.company-side-nav a.is-active::before { content: "●"; }
.company-side-nav a:focus-visible { border-radius: 2px; outline: 2px solid #0099aa; outline-offset: 3px; }
#company-overview-title, #company-officers-title, #company-vision, #company-mission, #company-values { scroll-margin-top: 110px; }
.company-overview { height: 1183px; padding-top: 50px; background: linear-gradient(180deg, #ecefff 0, #fff 210px); }
.company-overview h2, .company-officers h2, .company-philosophy h2, .company-values h2 { margin: 0; font-size: 32px; line-height: 1.4; letter-spacing: 1.6px; }
.company-overview__list { width: 851px; margin: 82px 0 0; }
.company-overview__list > div { display: grid; min-height: 118px; padding-bottom: 30px; grid-template-columns: 207px 644px; border-bottom: 1px solid #c0c0c0; margin-bottom: 29px; font-size: 16px; line-height: 1.8; }
.company-overview__list dt, .company-overview__list dd { margin: 0; letter-spacing: .8px; }
.company-officers { padding: 74px 0 80px; background: linear-gradient(180deg, #f3f3f3 0, #fff 202px); }
.company-officers__list { margin-top: 91px; }
.company-officer { position: relative; display: grid; min-height: 460px; grid-template-columns: 315px 472px; column-gap: 63px; margin-bottom: 115px; }
.company-officer:last-child { min-height: 315px; margin-bottom: 0; }
.company-officer__visual img { width: 315px; height: 315px; object-fit: cover; }
.company-officer__role { margin: 0 0 7px; font-size: 12px; line-height: 2.1; }
.company-officer h3 { display: flex; align-items: baseline; gap: 3px; margin: 0 0 2px; font-size: 30px; line-height: 1.4; letter-spacing: 1.5px; }
.company-officer h3 small { font-size: 14px; font-weight: 500; line-height: 1.6; letter-spacing: .7px; }
.company-officer__bio { width: 472px; margin: 0; font-size: 15px; line-height: 2; letter-spacing: .75px; }
.company-officer__affiliations { position: absolute; top: 336px; left: 19px; width: 315px; font-size: 12px; line-height: 1.5; }
.company-officer__affiliations strong { display: inline-block; padding: 4px 20px; border-radius: 100px; background: #eee; }
.company-officer__affiliations p { margin: 11px 0 0; }
.company-philosophy { padding: 80px 0 170px; background: linear-gradient(180deg, #fff, #f8f9ff); }
.company-philosophy__block { width: 851px; margin-bottom: 133px; }
.company-philosophy__statement { margin: 69px 0 0 41px; background: var(--gradient-brand); background-clip: text; -webkit-background-clip: text; color: transparent; font-size: 32px; font-weight: 700; line-height: 1.4; letter-spacing: 1.6px; }
.company-philosophy__mission { margin-bottom: 100px; }
.company-philosophy__mission img { width: 759px; height: 323px; margin: 65px auto 0; object-fit: cover; }
.company-values { width: 851px; margin-top: 0; }
.company-values__cards { display: grid; width: 759px; grid-template-columns: 1fr; gap: 18px; margin-top: 70px; }
.company-value { display: flex; min-width: 0; height: 105px; padding: 0 50px; align-items: center; border-radius: 10px; background: #fff; box-shadow: 0 0 24px -13px rgba(0, 0, 0, .25); }
.company-value strong { padding-bottom: 3px; background: var(--gradient-brand); background-clip: text; -webkit-background-clip: text; color: transparent; font-family: Afacad, var(--font-family-ja); font-size: 40px; line-height: 1.2; white-space: nowrap; }
.company-value span { padding-right: 20px; margin-left: auto; font-size: 16px; line-height: 2; letter-spacing: .8px; text-align: right; }
@media (max-width: 767px) {
	.site-main--company-page { min-width: 0; }
	.company-page__inner, .company-page__breadcrumb, .company-page__header { width: calc(100% - 32px); }
	.company-page__side-track { display: none; }
	.company-philosophy__block, .company-values { width: 100%; }
	.company-overview, .company-officers, .company-philosophy { height: auto; padding-block: 80px; }
	.company-overview__list { width: 100%; }
	.company-overview__list > div { grid-template-columns: 1fr; gap: 12px; }
	.company-officer { grid-template-columns: 1fr; gap: 28px; }
	.company-officer__content, .company-officer__bio { width: 100%; }
	.company-officer__affiliations { position: static; }
	.company-philosophy__statement { margin-left: 0; font-size: 24px; }
	.company-philosophy__mission img { width: 100%; height: auto; }
	.company-values__cards { width: 100%; grid-template-columns: 1fr; }
	.company-value { height: auto; min-height: 105px; padding: 24px; flex-wrap: wrap; gap: 12px 24px; }
	.company-value span { padding-right: 0; margin-left: 0; text-align: left; }
}
