/* Shared art direction for interior pages. Loaded after page styles. */
body.lowerEditorial { --color-blue: var(--color-main); --color-wh: var(--color-white); --font-unique: var(--font-wide); --editorial-ink: #111827; --editorial-paper: #f5f5f2; }
.lowerEditorial main { overflow: clip; }
.lowerEditorial main p { text-wrap: pretty; }
.lowerEditorial main :is(a,button):focus-visible { outline: 2px solid rgb(var(--color-main)); outline-offset: 6px; }
.lowerEditorial .lowerMv { position: relative; padding: 180px 4vw 0; background: var(--editorial-paper); overflow: clip; }
.lowerEditorial .lowerMv_inner { z-index: 3; }
.lowerEditorial .lowerMv_title { width: 100%; margin: 0; font-family: var(--font-wide); font-size: clamp(72px,14.5vw,280px); font-weight: 800; line-height: .82; letter-spacing: -.075em; overflow-wrap: anywhere; }
.lowerEditorial .lowerMv_lead { display: flex; justify-content: space-between; align-items: end; gap: 32px; margin: 56px 0 72px; }
.lowerEditorial .lowerMv_pageName { font-size: clamp(24px,2.4vw,42px); line-height: 1.4; }
.lowerEditorial .lowerMv_pageName small { display: block; margin-bottom: 16px; font-size: 10px; letter-spacing: .14em; }
.lowerEditorial .lowerMv_copy { max-width: 600px; margin-top: 24px; font-size: 16px; line-height: 1.9; }
.lowerEditorial .lowerMv_sideText { font-family: var(--font-wide); font-size: clamp(28px,4.5vw,84px); line-height: .94; letter-spacing: -.055em; text-align: right; }
.lowerEditorial .lowerMv_image { position: relative; z-index: 2; width: 78%; height: clamp(340px,48vw,760px); margin: 0 0 0 auto; border-radius: 0; overflow: hidden; }
.lowerEditorial .lowerMv_image img { height: 120%; width: 100%; object-fit: cover; }
.lowerEditorial .lowerMv_webgl { opacity: .32; inset: 0 0 auto auto; width: 55%; height: 640px; }
.lowerEditorial .lowerMv_webglCanvas { height: 100%; }
.lowerEditorial .lowerMv::after { content: 'KOWA / BUILT ON TRUST'; position: absolute; left: 4vw; bottom: 40px; writing-mode: vertical-rl; font-size: 10px; letter-spacing: .16em; }
.lowerEditorial .editorialProgress { position: fixed; z-index: 105; top: 0; left: 0; height: 3px; width: 100%; transform: scaleX(0); transform-origin: left; background: rgb(var(--color-main)); pointer-events: none; }
.lowerEditorial main :is(.machineSection_title,.csrSection_title,.serviceSection_title,.philosophyIntro_title,.messageGreeting_title,.recruitSection_head h2) { font-size: clamp(32px,4.6vw,80px); font-weight: 700; line-height: 1.35; letter-spacing: -.045em; }
.lowerEditorial main :is(.machineSection_read,.csrSection_read,.serviceSection_read,.philosophyIntro_text,.messageGreeting_text,.recruitAbout_body) { font-size: 16px; line-height: 2.1; }
.lowerEditorial :is(.sectionEyebrow,.machineSection_label,.csrSection_label,.serviceSection_label,.recruitSection_label) { font-size: 11px; letter-spacing: .14em; }
.lowerEditorial :is(.machineIntro,.csrIntro,.serviceIntro,.philosophyIntro,.messageGreeting) { padding-top: 140px; padding-bottom: 140px; }
.lowerEditorial .machineIntro { width: 72%; margin-left: 16%; padding-right: 8vw; }
.lowerEditorial :is(.csrIntro,.serviceIntro) { display: grid; grid-template-columns: 1.05fr 1fr; align-items: center; gap: 8vw; padding-left: 8vw; padding-right: 0; }
.lowerEditorial :is(.csrIntro_image,.serviceIntro_image) { height: 620px; border-radius: 0; margin: 100px 0 0; overflow: hidden; }
.lowerEditorial :is(.csrIntro_image,.serviceIntro_image) img { width: 100%; height: 120%; object-fit: cover; }
.lowerEditorial .philosophyIntro_body { gap: 8vw; grid-template-columns: 1.2fr 1fr; }
.lowerEditorial :is(.philosophyIntro_quote,.messageQuote) { border-radius: 0; background: var(--editorial-paper); border: 0; box-shadow: none; transform: rotate(-3deg); padding: 64px 40px; }
.lowerEditorial :is(.philosophyIntro_quote,.messageQuote) p { font-size: clamp(22px,2.3vw,38px); line-height: 1.6; }
.lowerEditorial .messageQuote { color: rgb(var(--color-main)); }
.lowerEditorial .messageGreeting_text p { font-size: 16px; line-height: 2.1; }
.lowerEditorial .philosophyMvv_grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 0; }
.lowerEditorial .philosophyMvv_card { border-radius: 0; box-shadow: none; border: 0; border-top: 1px solid currentColor; padding: 40px 32px; }
.lowerEditorial .philosophyMvv_card:nth-child(2) { margin-top: 100px; }
.lowerEditorial .philosophyMvv_card:nth-child(3) { margin-top: 200px; }
.lowerEditorial .philosophyPromise { gap: 8vw; }
.lowerEditorial .philosophyPromise_image { border-radius: 0; height: 600px; overflow: hidden; }
.lowerEditorial .philosophyPromise_image img { height: 120%; object-fit: cover; }
.lowerEditorial .companyContentShell { margin-top: 120px; }
.lowerEditorial .companyPageNav { background: transparent; }
.lowerEditorial .companySection_titleEn { font-family: var(--font-wide); font-size: clamp(42px,6vw,100px); letter-spacing: -.055em; line-height: 1; }
.lowerEditorial .companyProfile_tableWrap :is(th,td) { padding-top: 24px; padding-bottom: 24px; font-size: 16px; line-height: 1.8; }
.lowerEditorial .companyProfile_tableWrap th { font-size: 13px; }
.lowerEditorial .companyHistory_list p { font-size: 16px; line-height: 1.9; }
.lowerEditorial .companyHistory :is(li,dd) { font-size: 16px; line-height: 1.9; }
.lowerEditorial .companyGallery { transform: rotate(-2deg); margin: 64px -3vw; }
.lowerEditorial .machineGallery_item { border-radius: 0; width: 32vw; }
.lowerEditorial .machineGallery_item:nth-child(even) { margin-top: 64px; }
.lowerEditorial .machineList_grid { gap: 0; }
.lowerEditorial .machineList_card { border-radius: 0; box-shadow: none; padding: 40px 32px; min-height: 260px; }
.lowerEditorial .machineList_card h3 { font-size: 24px; }
.lowerEditorial .machineList_card p { font-size: 15px; }
.lowerEditorial .machineTable_wrap { border-radius: 0; box-shadow: none; }
.lowerEditorial .machineTable_wrap :is(th,td) { font-size: 15px; }
.lowerEditorial .machineLicense_list li { font-size: 16px; }
.lowerEditorial .machineLicense_groupHead h3 { font-size: 32px; }
.lowerEditorial .machineLicense::before { color: rgba(var(--color-main),.04); }
.lowerEditorial .csrActivity_grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 96px 6vw; }
.lowerEditorial .csrActivity_card { border-radius: 0; border: 0; box-shadow: none; background: transparent; }
.lowerEditorial .csrActivity_card:nth-child(even) { margin-top: 120px; }
.lowerEditorial .csrActivity_card figure { height: 340px; overflow: hidden; }
.lowerEditorial .csrActivity_card img { height: 120%; object-fit: cover; }
.lowerEditorial .csrActivity_card h3 { font-size: 26px; }
.lowerEditorial .csrActivity_card p { font-size: 15px; line-height: 1.9; }
.lowerEditorial .serviceFeature_list { gap: 80px; }
.lowerEditorial .serviceFeature_list article { border-radius: 0; box-shadow: none; }
.lowerEditorial .serviceCase_list { gap: 4vw; }
.lowerEditorial .serviceCase_card { border-radius: 0; box-shadow: none; }
.lowerEditorial .serviceCase_card:nth-child(even) { margin-top: 80px; }
.lowerEditorial .serviceCase_card h3 { font-size: 22px; }
.lowerEditorial .relatedPages { padding: 120px 5vw; border-top: 1px solid rgba(var(--color-main),.18); background: var(--editorial-paper); }
.lowerEditorial .relatedPages_head { margin-bottom: 56px; }
.lowerEditorial .relatedPages_grid { gap: 24px; }
.lowerEditorial .relatedPages_card { border-radius: 0; box-shadow: none; border: 0; background: transparent; padding: 24px 0; border-top: 1px solid rgb(var(--color-main)); }
.lowerEditorial .relatedPages_thumb { height: 220px; border-radius: 0; }
.lowerEditorial .relatedPages_card .topAbout_cardEn { font-size: clamp(24px,2.6vw,44px); letter-spacing: -.045em; }
.lowerEditorial .relatedPages_card strong { font-size: 18px; }
.lowerEditorial .relatedPages_card .topAbout_cardText { font-size: 14px; line-height: 1.8; }
.lowerEditorial .newsArchive_body { padding-top: 120px; }
.lowerEditorial .newsArchive_content h2 { font-size: clamp(22px,2vw,32px); line-height: 1.5; }
.lowerEditorial .newsArchive_content p { font-size: 15px; line-height: 1.9; }
.lowerEditorial .newsArchive_item { padding-top: 32px; padding-bottom: 32px; }
.lowerEditorial .worksArchive :is(.worksCard,.worksArchive_card) { border-radius: 0; box-shadow: none; }
.lowerEditorial .worksIndex { padding-top: 120px; padding-bottom: 120px; }
.lowerEditorial .worksGrid { gap: 80px 4vw; }
.lowerEditorial .worksCard_thumb { border-radius: 0; overflow: hidden; }
.lowerEditorial .worksCard_title { font-size: 26px; line-height: 1.5; }
.lowerEditorial .worksSingle_section h2 { font-size: clamp(28px,3vw,48px); letter-spacing: -.035em; }
.lowerEditorial .worksSingle_section p { font-size: 16px; line-height: 2; }
.lowerEditorial .worksSingle_table :is(dt,dd) { font-size: 15px; line-height: 1.8; }
.lowerEditorial .worksSingle_gallery { gap: 32px; }
.lowerEditorial .worksSingle_gallery figure { border-radius: 0; overflow: hidden; }
.lowerEditorial .singleNews_title { font-size: clamp(32px,4.5vw,68px); line-height: 1.45; letter-spacing: -.035em; }
.lowerEditorial .singleNews_content { font-size: 17px; line-height: 2.1; }
.lowerEditorial .recruitSection { padding-top: 140px; padding-bottom: 140px; }
.lowerEditorial .recruitSection_head { text-align: left; }
.lowerEditorial .recruitValue_list { gap: 0; }
.lowerEditorial .recruitValue_card { border-radius: 0; box-shadow: none; border: 0; border-top: 1px solid rgb(var(--color-main)); }
.lowerEditorial :is(.recruitJob_card,.recruitPeople_card) { border-radius: 0; box-shadow: none; border: 0; }
.lowerEditorial .recruitPeople_card:nth-child(2) { margin-top: 80px; }
.lowerEditorial .recruitPeople_card:nth-child(3) { margin-top: 160px; }
.lowerEditorial :is(.machineCta,.csrCta) { border-radius: 0; padding: 80px 6vw; background: rgb(var(--color-main)); }
.lowerEditorial :is(.machineCta,.csrCta) h2 { font-size: clamp(32px,5vw,80px); letter-spacing: -.045em; }
.lowerEditorial .editorialImageMissing { background: var(--editorial-paper); border: 1px solid rgba(var(--color-main),.12); display: grid; place-items: center; min-height: 160px; }
.lowerEditorial .editorialImageMissing::before { content: 'KOWA'; font-family: var(--font-wide); font-size: clamp(32px,4vw,72px); color: rgba(var(--color-main),.12); letter-spacing: -.06em; }
.lowerEditorial .editorialImageMissing img { display: none; }
.lowerEditorial .generatedImageVisual { position: relative; }
.lowerEditorial .generatedImageVisual::after { content: 'イメージ画像'; position: absolute; z-index: 3; right: 12px; bottom: 12px; inset-inline-start: auto; top: auto; width: auto; height: auto; padding: 5px 9px; background: rgba(12,20,36,.65); color: white; font-size: 10px; line-height: 1.5; letter-spacing: .06em; pointer-events: none; }
html.lenis, html.lenis body { height: auto; }
.lenis.lenis-smooth { scroll-behavior: auto !important; }
.lenis.lenis-stopped { overflow: hidden; }
@media (min-width:1025px) {
  .lowerEditorial .relatedPages_card:nth-child(even) { margin-top: 64px; }
  .lowerEditorial .recruitJobs_grid { gap: 48px; }
  .lowerEditorial .worksCard:nth-child(even) { margin-top: 120px; }
}
@media (max-width:1024px) {
  .lowerEditorial .lowerMv { padding-top: 156px; }
  .lowerEditorial .lowerMv_image { width: 92%; height: 50vw; min-height: 280px; }
  .lowerEditorial :is(.csrIntro,.serviceIntro) { grid-template-columns: 1fr; padding-right: 8vw; }
  .lowerEditorial :is(.csrIntro_image,.serviceIntro_image) { height: 440px; margin-top: 0; }
  .lowerEditorial .philosophyMvv_card { padding: 32px 20px; }
  .lowerEditorial .machineLicense_list li { font-size: 15px; }
}
@media (max-width:599px) {
  .lowerEditorial .lowerMv { padding: 132px 5vw 0; }
  .lowerEditorial .lowerMv_title { font-size: 17vw; }
  .lowerEditorial .lowerMv_lead { display: block; margin: 32px 0 40px; }
  .lowerEditorial .lowerMv_sideText { margin-top: 32px; font-size: 36px; }
  .lowerEditorial .lowerMv_copy { font-size: 14px; }
  .lowerEditorial .lowerMv_image { width: 100%; min-height: 260px; height: 74vw; }
  .lowerEditorial .lowerMv::after { display: none; }
  .lowerEditorial :is(.machineIntro,.csrIntro,.serviceIntro,.philosophyIntro,.messageGreeting,.recruitSection) { width: auto; margin-left: 0; padding: 88px 6vw; }
  .lowerEditorial .machineIntro { padding-left: 12vw; }
  .lowerEditorial :is(.philosophyIntro_body,.philosophyMvv_grid) { grid-template-columns: 1fr; }
  .lowerEditorial .philosophyMvv_card:nth-child(n) { margin-top: 0; }
  .lowerEditorial :is(.philosophyIntro_quote,.messageQuote) { transform: none; padding: 40px 24px; }
  .lowerEditorial :is(.csrIntro_image,.serviceIntro_image,.philosophyPromise_image) { height: 320px; }
  .lowerEditorial .csrActivity_grid { grid-template-columns: 1fr; gap: 48px; }
  .lowerEditorial .csrActivity_card:nth-child(even) { margin-top: 0; }
  .lowerEditorial .csrActivity_card figure { height: 260px; }
  .lowerEditorial .relatedPages { padding: 80px 6vw; }
  .lowerEditorial .relatedPages_grid { grid-template-columns: 1fr; }
  .lowerEditorial .relatedPages_thumb { height: 240px; }
  .lowerEditorial .relatedPages_card .topAbout_cardEn { font-size: 36px; }
  .lowerEditorial .companyProfile_tableWrap :is(th,td) { font-size: 14px; }
  .lowerEditorial .companyContentShell { margin-top: 64px; }
  .lowerEditorial .companySection_titleEn { font-size: 11vw; }
  .lowerEditorial .machineGallery_item { width: 66vw; }
  .lowerEditorial .machineGallery_item:nth-child(even) { margin-top: 32px; }
  .lowerEditorial .recruitPeople_card:nth-child(n) { margin-top: 0; }
  .lowerEditorial .serviceCase_card:nth-child(even) { margin-top: 0; }
  .lowerEditorial .worksGrid { gap: 48px; }
  .lowerEditorial .worksCard_title { font-size: 22px; }
}
@media (prefers-reduced-motion:reduce) {
  .lowerEditorial *, .lowerEditorial *::before, .lowerEditorial *::after { animation: none !important; transition-duration: .01ms !important; scroll-behavior: auto !important; }
}
