.page-company-combined{--company-navy:#09283c;--company-blue:#168ec9;--company-gutter:clamp(44px,4vw,72px);color:var(--company-navy)}
.page-company-combined .subhero{margin-left:var(--side-w);padding:0;background:#fff}
.page-company-combined .subhero>.wrap{width:100%;max-width:none;padding:0}
.page-company-combined .subhero-inner{display:grid;grid-template-columns:minmax(390px,40%) minmax(0,60%);min-height:clamp(360px,27vw,420px);max-height:420px;padding:0}
.page-company-combined .subhero-inner>div:first-child{display:flex;flex-direction:column;justify-content:center;padding:38px 24px 36px var(--company-gutter)}
.page-company-combined .subhero .eyebrow{margin-bottom:20px;color:var(--company-blue);font-size:11px;letter-spacing:.14em}
.page-company-combined .subhero h1{margin:0 0 24px;font-size:clamp(38px,3.4vw,52px);line-height:1.22;letter-spacing:-.03em}
.page-company-combined .subhero p{margin:0;max-width:450px;color:#4f6c7d;font-size:12px;line-height:1.95}
.page-company-combined .subhero-visual{position:relative;min-height:360px;overflow:hidden;border:0;border-radius:0;background:none;box-shadow:none;transform:none}
.page-company-combined .subhero-visual::before{content:'';position:absolute;z-index:1;inset:0 auto 0 0;width:24%;background:linear-gradient(90deg,#fff,rgba(255,255,255,.82) 34%,rgba(255,255,255,0))}
.page-company-combined .subhero-visual img{width:100%;height:100%;object-fit:cover;object-position:center;transform:none}
.company-combined-section{margin-left:var(--side-w);padding:76px var(--company-gutter)}
.company-combined-inner{width:min(100%,1280px);margin:0 auto}
.company-message-layout{display:grid;grid-template-columns:minmax(420px,.9fr) minmax(480px,1.1fr);grid-template-areas:'heading heading' 'photo copy';column-gap:clamp(54px,6vw,96px);row-gap:42px}
.company-section-heading>p,.company-careers-layout p{margin:0 0 18px;color:var(--company-blue);font:700 11px/1.4 Lato,sans-serif;letter-spacing:.14em}
.company-section-heading>p span,.company-careers-layout p span{margin-right:9px;font-size:20px}
.page-company-combined .sec-tag span{margin-right:9px;color:var(--company-blue);font-size:20px;font-weight:700;letter-spacing:.02em}
.ws-subpage-latest.page-company-combined #philosophy>.wrap>.sec-head:first-child .sec-tag,
.ws-subpage-latest.page-company-combined #profile>.wrap>.sec-head:first-child .sec-tag{
  display:flex!important;
  align-items:baseline!important;
  margin:0 0 18px!important;
  color:var(--company-blue)!important;
  font:700 11px/1.4 Lato,sans-serif!important;
  letter-spacing:.14em!important;
}
.ws-subpage-latest.page-company-combined #philosophy>.wrap>.sec-head:first-child .sec-tag::before,
.ws-subpage-latest.page-company-combined #profile>.wrap>.sec-head:first-child .sec-tag::before{
  content:none!important;
  display:none!important;
}
.ws-subpage-latest.page-company-combined #philosophy>.wrap>.sec-head:first-child .sec-tag span,
.ws-subpage-latest.page-company-combined #profile>.wrap>.sec-head:first-child .sec-tag span{
  margin-right:9px!important;
  color:var(--company-blue)!important;
  font-size:20px!important;
  font-weight:700!important;
  line-height:1!important;
  letter-spacing:.02em!important;
}
.ws-subpage-latest.page-company-combined #philosophy>.wrap>.sec-head:first-child .sec-title,
.ws-subpage-latest.page-company-combined #profile>.wrap>.sec-head:first-child .sec-title{
  margin:0!important;
  color:var(--company-navy)!important;
  font-size:clamp(28px,2.2vw,34px)!important;
  font-weight:700!important;
  line-height:1.45!important;
  letter-spacing:-.025em!important;
}
.company-section-heading h2,.company-careers-layout h2{margin:0;font-size:clamp(28px,2.2vw,34px);line-height:1.45;letter-spacing:-.025em}
.company-message-copy p{margin:0 0 24px;color:#506b7a;font-size:13px;line-height:2.1}
.company-message-copy .company-signature{margin-top:38px;color:var(--company-navy)}
.company-message-copy .company-signature strong{font-size:18px}
.company-message-heading{grid-area:heading;max-width:980px}.company-message-photo{grid-area:photo;height:380px;margin:0;overflow:hidden;background:#edf4f7}.company-message-copy{grid-area:copy}
.company-message-photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 34%;transition:transform .35s ease}
.company-message-photo:hover img{transform:scale(1.015)}
.page-company-combined>section.section-pad{margin-left:var(--side-w);padding:76px var(--company-gutter)}
.page-company-combined>section.section-pad>.wrap{max-width:1280px;padding:0}
.page-company-combined #philosophy{background:#f5fafd}
.page-company-combined #profile{background:#fff}
.company-access-data{grid-area:data;display:block;border-top:1px solid #bcd1dc}
.company-access-data dl{margin:0;padding:20px 0;border-bottom:1px solid #d1e0e7}
.company-access-data dt{margin-bottom:9px;color:var(--company-blue);font-size:10px;font-weight:700;letter-spacing:.1em}
.company-access-data dd{margin:0;color:var(--company-navy);font-size:14px;line-height:1.85}
.company-access-data>a{display:inline-block;margin-top:28px;padding-bottom:6px;border-bottom:1px solid var(--company-blue);color:var(--company-blue);font-size:11px;font-weight:700;text-decoration:none}
.company-access-map{grid-area:map;width:100%;height:100%;min-height:470px;overflow:hidden;border:1px solid #cbdde6;background:#e8f2f7}
.company-access-map iframe{display:block;width:100%;height:100%;border:0}
.company-access-data>a span,.company-careers-layout>a span{display:inline-block;margin-left:8px;transition:transform .25s}
.company-access-data>a:hover span,.company-careers-layout>a:hover span{transform:translateX(5px)}
.company-careers-section{background:var(--company-navy);color:#fff}
.company-careers-layout{display:flex;align-items:flex-end;justify-content:space-between;gap:40px}
.company-careers-layout>a{padding:14px 0;border-bottom:1px solid rgba(255,255,255,.6);color:#fff;font-size:12px;font-weight:700;text-decoration:none}
@media(max-width:900px){.page-company-combined .subhero,.company-page-nav,.company-combined-section,.page-company-combined>section.section-pad{margin-left:0}.page-company-combined .subhero-inner{grid-template-columns:1fr;max-height:none}.page-company-combined .subhero-inner>div:first-child{padding:58px 32px 42px}.page-company-combined .subhero-visual{min-height:300px}.company-combined-section,.page-company-combined>section.section-pad{padding:64px 32px}.company-message-layout{grid-template-columns:1fr;grid-template-areas:'heading' 'photo' 'copy';gap:42px}.company-access-map{height:360px;min-height:0}}
@media(max-width:600px){.page-company-combined .subhero-inner>div:first-child{padding:48px 20px 34px}.page-company-combined .subhero h1{font-size:38px}.page-company-combined .subhero-visual{min-height:240px}.company-combined-section,.page-company-combined>section.section-pad{padding:54px 20px}.company-section-heading h2,.company-careers-layout h2{font-size:30px}.company-access-map{height:280px}.company-careers-layout{display:block}.company-careers-layout>a{display:inline-block;margin-top:34px}}

/* Shared lower-page hero rule: same white 40/60 composition as Vision 2030. */
@media(min-width:901px){
  .ws-subpage-latest.page-company-combined:not(.ws-detail-page) .subhero{
    min-height:0!important;
    height:420px!important;
    margin-left:var(--side-w)!important;
    padding:0!important;
    overflow:hidden!important;
    background:#fff!important;
    color:var(--company-navy)!important;
  }
  .ws-subpage-latest.page-company-combined:not(.ws-detail-page) .subhero::before,
  .ws-subpage-latest.page-company-combined:not(.ws-detail-page) .subhero::after{
    content:none!important;
    display:none!important;
    background:none!important;
  }
  .ws-subpage-latest.page-company-combined .subhero>.wrap{
    width:100%!important;
    max-width:none!important;
    height:100%!important;
    padding:0!important;
  }
  .ws-subpage-latest.page-company-combined .subhero-inner{
    display:grid!important;
    grid-template-columns:minmax(390px,40%) minmax(0,60%)!important;
    gap:0!important;
    align-items:stretch!important;
    width:100%!important;
    height:100%!important;
    min-height:0!important;
    max-height:none!important;
    padding:0!important;
  }
  .ws-subpage-latest.page-company-combined .subhero .subhero-inner>div:first-child{
    display:flex!important;
    flex-direction:column!important;
    justify-content:center!important;
    padding:38px 24px 36px var(--company-gutter)!important;
    animation:none!important;
  }
  .ws-subpage-latest.page-company-combined .subhero .eyebrow{
    margin:0 0 20px!important;
    color:var(--company-blue)!important;
    font-size:11px!important;
    letter-spacing:.14em!important;
  }
  .ws-subpage-latest.page-company-combined .subhero .eyebrow::before{content:none!important;display:none!important}
  .ws-subpage-latest.page-company-combined .subhero h1{
    margin:0 0 24px!important;
    color:var(--company-navy)!important;
    font-size:clamp(38px,3.4vw,52px)!important;
    line-height:1.22!important;
    letter-spacing:-.03em!important;
    text-shadow:none!important;
  }
  .ws-subpage-latest.page-company-combined .subhero p{
    margin:0!important;
    color:#4f6c7d!important;
    font-size:12px!important;
    line-height:1.95!important;
    text-shadow:none!important;
  }
  .ws-subpage-latest.page-company-combined .subhero-visual{
    display:block!important;
    min-height:0!important;
    height:100%!important;
    margin:0!important;
    overflow:hidden!important;
    border:0!important;
    border-radius:0!important;
    background:none!important;
    box-shadow:none!important;
    clip-path:none!important;
    transform:none!important;
  }
  .ws-subpage-latest.page-company-combined .subhero-visual::before{
    content:''!important;
    display:block!important;
    position:absolute!important;
    z-index:2!important;
    inset:0 auto 0 0!important;
    width:24%!important;
    border:0!important;
    background:linear-gradient(90deg,#fff 0%,rgba(255,255,255,.86) 30%,rgba(255,255,255,0) 100%)!important;
    pointer-events:none!important;
  }
  .ws-subpage-latest.page-company-combined .subhero-visual::after{content:none!important;display:none!important}
  .ws-subpage-latest.page-company-combined .subhero-visual img{
    display:block!important;
    width:100%!important;
    height:100%!important;
    object-fit:cover!important;
    object-position:center 30%!important;
    opacity:1!important;
    filter:none!important;
    transform:none!important;
  }
  .ws-subpage-latest.page-company-combined .subhero-visual img.company-hero-logo{
    width:min(54%,430px)!important;
    height:auto!important;
    object-fit:contain!important;
    object-position:center!important;
  }
  .ws-subpage-latest.page-company-combined .subhero-visual:has(.company-hero-logo){
    display:grid!important;
    place-items:center!important;
    background:#f5fafd!important;
  }
  .ws-subpage-latest.page-company-combined .subhero-visual:has(.company-hero-logo)::before{content:none!important;display:none!important}
}

@media(max-width:900px){
  .ws-subpage-latest.page-company-combined:not(.ws-detail-page) .subhero{min-height:0!important;padding:0!important;background:#fff!important;color:var(--company-navy)!important}
  .ws-subpage-latest.page-company-combined:not(.ws-detail-page) .subhero::before,
  .ws-subpage-latest.page-company-combined:not(.ws-detail-page) .subhero::after{content:none!important;display:none!important}
  .ws-subpage-latest.page-company-combined .subhero>.wrap{padding:0!important}
  .ws-subpage-latest.page-company-combined .subhero h1{color:var(--company-navy)!important;text-shadow:none!important}
  .ws-subpage-latest.page-company-combined .subhero-visual{display:block!important;clip-path:none!important;box-shadow:none!important;background:none!important}
  .ws-subpage-latest.page-company-combined .subhero-visual::after{content:none!important;display:none!important}
}

/* Final company section order: 03 Business Model, 04 Company & Access. */
.page-company-combined .company-business-section{background:#fff}
.page-company-combined #profile{background:#f5fafd}
.company-profile-access{display:grid;grid-template-columns:minmax(340px,.72fr) minmax(520px,1.28fr);gap:clamp(54px,6vw,96px);margin-top:68px;padding-top:54px;border-top:1px solid #bcd1dc}
.company-access-kicker{margin:0 0 12px;color:var(--company-blue);font:700 11px/1.4 Lato,sans-serif;letter-spacing:.14em}
.company-access-block>h3{margin:0 0 26px;color:var(--company-navy);font-size:26px;line-height:1.45}
.company-profile-access .company-access-data{grid-area:auto}
.company-profile-access .company-access-map{grid-area:auto;height:100%;min-height:470px;margin:0}

.ws-subpage-latest.page-company-combined .company-business-section>.wrap>.sec-head:first-child .sec-tag{
  display:flex!important;align-items:baseline!important;margin:0 0 18px!important;color:var(--company-blue)!important;font:700 11px/1.4 Lato,sans-serif!important;letter-spacing:.14em!important
}
.ws-subpage-latest.page-company-combined .company-business-section>.wrap>.sec-head:first-child .sec-tag::before{content:none!important;display:none!important}
.ws-subpage-latest.page-company-combined .company-business-section>.wrap>.sec-head:first-child .sec-tag span{margin-right:9px!important;color:var(--company-blue)!important;font-size:20px!important;font-weight:700!important;line-height:1!important;letter-spacing:.02em!important}
.ws-subpage-latest.page-company-combined .company-business-section>.wrap>.sec-head:first-child .sec-title{margin:0!important;color:var(--company-navy)!important;font-size:clamp(28px,2.2vw,34px)!important;font-weight:700!important;line-height:1.45!important;letter-spacing:-.025em!important}
.page-company-combined .company-business-section .mvv-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:28px!important}

@media(max-width:900px){.company-profile-access{grid-template-columns:1fr;gap:36px}.company-profile-access .company-access-map{height:360px;min-height:0}}
@media(max-width:900px){.company-message-photo{height:380px}.ws-subpage-latest.page-company-combined .subhero-visual:has(.company-hero-logo){display:grid!important;place-items:center!important;background:#f5fafd!important}.ws-subpage-latest.page-company-combined .subhero-visual img.company-hero-logo{width:min(62%,360px)!important;height:auto!important;object-fit:contain!important}.page-company-combined .company-business-section .mvv-grid{grid-template-columns:1fr!important}}
@media(max-width:600px){.company-message-photo{height:280px}.company-profile-access .company-access-map{height:280px}}

/* Integrated Vision / Mission sections */
.page-company-combined>section.vision-section{margin-left:var(--side-w)}
@media(max-width:900px){.page-company-combined>section.vision-section{margin-left:0}}

/* mobile: hero visual is only the (hidden) logo, so drop the empty box */
@media(max-width:900px){body.page-company-combined section.subhero .subhero-visual{display:none!important;min-height:0!important;height:0!important}.page-company-combined .subhero-inner{min-height:0}}
/* 番号をなくしたので、課題→解決の一覧は3列（課題／解決／矢印） */

/* 事業セクション内の「重点領域」 */
.page-company-combined .company-focus{margin-top:36px;padding-top:28px;border-top:1px dashed #cddfe8}
.page-company-combined .company-focus-label{margin:0 0 14px;color:var(--company-blue,#158fc5);font:700 11px/1.4 Lato,sans-serif;letter-spacing:.14em}
.page-company-combined .company-focus-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.page-company-combined .company-focus-card{padding:22px 24px;background:#fff;border:1px solid #d7e5ed;border-radius:8px}
.page-company-combined .company-focus-card small{display:block;margin-bottom:6px;color:#158fc5;font:700 10px/1.4 Lato,sans-serif;letter-spacing:.14em}
.page-company-combined .company-focus-card strong{display:block;margin-bottom:8px;color:#082f43;font-size:18px;line-height:1.5}
.page-company-combined .company-focus-card p{margin:0;color:#526c7b;font-size:13px;line-height:1.9}
@media(max-width:680px){.page-company-combined .company-focus-grid{grid-template-columns:1fr}}

/* 事業とビジネスモデル: 重点領域(リンク付き) → 収益形態 */
.page-company-combined .company-business-section .company-focus{margin:34px 0 0;padding:0;border:0}
.page-company-combined .company-business-section .company-revenue-label{margin:40px 0 14px}
.page-company-combined a.company-focus-card{display:block;text-decoration:none;transition:border-color .2s,box-shadow .2s,transform .2s}
.page-company-combined a.company-focus-card:hover{border-color:#42c6f2;box-shadow:0 10px 26px rgba(9,48,70,.09);transform:translateY(-2px)}
.page-company-combined a.company-focus-card:focus-visible{outline:2px solid #158fc5;outline-offset:2px}
.page-company-combined .company-focus-card b{display:inline-block;margin-top:12px;color:#158fc5;font-size:12px}
.page-company-combined .company-business-section .ws-service-duo{margin-top:0;padding-top:0;border-top:0}

/* B-04：社長メッセージ・STRENGTHS・採用への案内の枠を、他のセクション（.section-pad>.wrap）と同じ幅・余白の左揃えにする */
.ws-subpage-latest.page-company-about .company-combined-inner,
.ws-subpage-latest.page-company-about .vision-strengths .vision-section-inner{width:100%;max-width:1320px;margin:0;padding-left:clamp(28px,5vw,76px);padding-right:clamp(28px,5vw,76px);box-sizing:border-box}
@media(max-width:600px){
  .ws-subpage-latest.page-company-about .company-combined-inner,
  .ws-subpage-latest.page-company-about .vision-strengths .vision-section-inner{padding-left:20px;padding-right:20px}
}
/* B-04 追加：セクション自体の左右余白をなくす（余白は上の枠だけで取る） */
.ws-subpage-latest.page-company-about :is(#message,#strengths,#careers){padding-left:0;padding-right:0}
