.subpage-page { background: var(--paper); }
.nav-work { left: 556px; top: 36px; }
.footer-nav { width: 800px; }
.footer-nav > :nth-child(n) { width: auto; }
.subpage-hero .subpage-breadcrumb { left: auto; right: 40px; max-width: 75%; white-space: normal; text-align: right; }
.subpage-hero--detail h1 { top: 232px; width: 1240px; font-size: 108px; line-height: 1.02; letter-spacing: -2.16px; }
.subpage-hero--detail .subpage-hero-jp { top: 496px; }
.subpage-hero--wide h1 { font-size: 120px; }
.subpage-hero h1 .hero-line { display: block; }
.page-body { position: relative; }
.page-preview-tools { background: var(--ink); color: #fff; }
.page-preview-tools button { color: inherit; }
.listing-inner { max-width: 1440px; margin: auto; padding-inline: 40px; }
.listing-intro { padding-block: 160px 124px; }
.listing-eyebrow { font: 500 20px/1.2 var(--font-en); }
.listing-intro-grid { display: grid; grid-template-columns: 640fr 600fr; gap: 80px; margin-top: 20px; padding-right: 40px; }
.listing-intro h2 { font-size: 48px; line-height: 1.5; }
.listing-intro-copy { font-size: 18px; line-height: 2.1; padding-top: 10px; }
.listing-layout { display: grid; grid-template-columns: 300px minmax(0,1fr); gap: 60px; padding-block: 120px 36px; padding-right: 80px; }
.listing-toc { position: sticky; top: 116px; align-self: start; padding: 0 0 0 28px; display: grid; gap: 26px; font-size: 19px; font-weight: 700; }
.listing-toc .listing-select-link { font-size: 14px; }
.listing-toc a:first-child { text-decoration: underline; }
.listing-toc a[data-active='true'] { color: var(--orange); }
.listing-toc a[data-active='true']::before { content: ''; position: absolute; left: 0; margin-top: .6em; width: 6px; height: 6px; background: var(--orange); border-radius: 50%; }
.listing-toc p { margin-top: 35px; color: rgb(0 7 31 / 55%); font-size: 14px; font-weight: 400; line-height: 26px; }
.listing-item { border-top: 1px solid rgb(0 7 31 / 15%); min-height: 903px; padding-block: 56px 120px; scroll-margin-top: 120px; }
.listing-item:first-child { min-height: 832px; }
.listing-number { font-size: 14px; font-weight: 700; color: rgb(0 7 31 / 60%); }
.listing-item h2 { margin: 17px 0 20px -4px; font: 700 64px/1.05 var(--font-en); letter-spacing: -.64px; }
.listing-item h3 { font-size: 28px; line-height: 1.5; }
.listing-description { margin-top: 62px; font-size: 16px; line-height: 2.1; color: rgb(0 7 31 / 85%); }
.listing-item:first-child .listing-description { margin-top: 89px; }
.listing-capabilities { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 0 24px; padding: 0; margin: 32px 0 0; list-style: none; }
.listing-capabilities li { position: relative; padding: 11px 0 11px 18px; border-top: 1px solid rgb(0 7 31 / 12%); font-size: 15px; line-height: 22px; }
.listing-capabilities li::before { content: ''; position: absolute; left: 0; top: 19px; width: 6px; height: 6px; border-radius: 50%; background: var(--ink); }
.listing-link { display: inline-flex; gap: 28px; align-items: center; justify-content: space-between; background: var(--ink); color: #fff; border-radius: 32px; padding: 20px 32px; min-height: 60px; font-size: 15px; font-weight: 700; margin-top: 60px; transition: background-color .2s; }
.listing-link:hover { background: #242f4d; }
.listing-link span { font-size: 20px; }
.listing-offer { margin-top: 18px; font-size: 15px; font-weight: 700; text-decoration: underline; }
.listing-start { padding-block: 80px; background: var(--ink); color: #fff; }
.listing-start-head { display: grid; grid-template-columns: 640fr 664fr; gap: 56px; }
.listing-start h2 { font-size: 40px; line-height: 1.5; margin-top: 16px; }
.listing-start-description { font-size: 16px; line-height: 1.9; }
.listing-start-description a { display: inline-block; margin-top: 18px; font-weight: 700; text-decoration: underline; }
.listing-start-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 0 48px; margin-top: 40px; }
.listing-start-card { padding: 24px 0; border-top: 1px solid #ffffff40; }
.listing-start-card h3 { font-size: 22px; line-height: 1.5; }
.listing-start-card p { margin-top: 12px; font-size: 15px; line-height: 1.8; color: #fffc; }
.listing-start-card span { display: block; margin-top: 16px; font-size: 14px; font-weight: 700; color: #ff8b5b; }
.listing-start-card:hover span { text-decoration: underline; }
.work-preparing { padding: 120px 40px; text-align: center; }
.work-preparing p { font: 700 clamp(36px,6.7vw,96px)/1.05 var(--font-en); letter-spacing: -.02em; }
@media(min-width:768px) and (max-width:1100px) {
 .listing-layout { grid-template-columns: 220px minmax(0,1fr); gap: 32px; padding-right: 40px; }
 .listing-toc { font-size: 15px; padding-left: 16px; }
 .listing-intro-grid { gap: 40px; padding-right: 0; }
 .listing-intro h2 { font-size: 34px; }
 .listing-item h2 { font-size: 48px; }
 .listing-capabilities { grid-template-columns: 1fr; }
 .listing-start h2 { font-size: 32px; }
}
@media(max-width:767px) {
 .nav-work { display: none; }
 .footer-nav { width: 100%; }
 .subpage-hero .subpage-breadcrumb { right: 24px; max-width: calc(100% - 48px); font-size: 12px; }
 .subpage-hero--detail h1 { top: 225px; left: 20px; width: calc(100% - 40px); font-size: clamp(36px,10.6vw,68px); line-height: 1.06; letter-spacing: -.02em; overflow-wrap: anywhere; }
 .subpage-hero--detail .subpage-hero-jp { top: 400px; max-width: calc(100% - 48px); font-size: 15px; }
 .subpage-hero--long h1 { font-size: clamp(48px,19vw,96px); width: calc(100% - 40px); overflow-wrap: anywhere; letter-spacing: -.02em; }
 .subpage-hero--wide h1 { font-size: clamp(48px,12.5vw,84px); }
 .listing-inner { padding-inline: 24px; }
 .listing-intro { padding-block: 88px 70px; }
 .listing-intro-grid { display: block; margin-top: 24px; padding: 0; }
 .listing-intro h2 { font-size: clamp(25px,6.9vw,40px); }
 .listing-intro-copy { font-size: 15px; margin-top: 32px; }
 .listing-layout { display: block; padding-block: 0 24px; }
 .listing-toc { position: relative; top: auto; display: flex; flex-wrap: wrap; gap: 10px; padding: 0 0 40px; font-size: 13px; }
 .listing-toc a { padding: 10px 14px; border: 1px solid #00071f30; border-radius: 24px; background: #fff9; }
 .listing-toc a[data-active='true'] { color: #fff; background: var(--ink); }
 .listing-toc a[data-active='true']::before { display: none; }
 .listing-toc p { margin: 12px 0 0; width: 100%; }
 .listing-toc .listing-select-label { display: none; }
 .listing-item,.listing-item:first-child { min-height: 0; padding-block: 40px 64px; }
 .listing-item h2 { font-size: clamp(37px,10.5vw,58px); margin-top: 20px; }
 .listing-item h3 { font-size: 23px; }
 .listing-description,.listing-item:first-child .listing-description { margin-top: 36px; font-size: 15px; }
 .listing-capabilities { grid-template-columns: 1fr; margin-top: 28px; }
 .listing-capabilities li { font-size: 14px; }
 .listing-link { font-size: 13px; margin-top: 36px; padding-inline: 24px; max-width: 100%; gap: 16px; }
 .listing-offer { font-size: 13px; }
 .listing-start { padding-block: 64px; }
 .listing-start-head,.listing-start-grid { display: block; }
 .listing-start h2 { font-size: 27px; }
 .listing-start-description { margin-top: 24px; font-size: 14px; }
 .listing-start-card { display: block; }
 .listing-start-card h3 { font-size: 20px; }
 .work-preparing { padding: 80px 24px; }
}
