
/* final overrides 20260608-6
   This file is intentionally loaded last to avoid CSS order/cache issues. */

/* TOP hero visual: larger image, less wasted vertical space, MENU still visible */
body.modern-home-page main > .hero.hero-art-section{
  padding:2px 22px 0 !important;
  margin:0 !important;
}
body.modern-home-page .hero-art-panel{
  width:min(100%, 820px) !important;
  max-width:820px !important;
  margin:0 auto !important;
  border-radius:22px !important;
  box-shadow:0 12px 30px rgba(12,26,49,.11) !important;
}
body.modern-home-page .hero-art-image{
  display:block !important;
  width:100% !important;
  height:auto !important;
}
body.modern-home-page main > .hero.hero-art-section + .section.card-section{
  padding-top:24px !important;
}
body.modern-home-page .card-section .section-head{
  margin-bottom:14px !important;
}

/* Header nav buttons: mostly white, with a subtle yellow-green edge gradient */
header .main-nav > li > a,
header .main-nav > li > a:link,
header .main-nav > li > a:visited,
header .main-nav > li > a.menu1,
header .main-nav > li > a.menu2,
header .main-nav > li > a.menu3,
header .main-nav > li > a.menu4,
header .main-nav > li > a.menu5,
header .main-nav > li > a.menu6{
  background:
    linear-gradient(90deg,
      #ffffff 0%,
      #ffffff 74%,
      #f7fbe7 82%,
      #e7f2a1 91%,
      #b8d540 100%) !important;
  color:#26344d !important;
  border:1px solid rgba(183,209,61,.72) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.92),
    0 6px 14px rgba(137,157,48,.10) !important;
}
header .main-nav > li > a:hover,
header .main-nav > li > a:focus-visible{
  background:
    linear-gradient(90deg,
      #ffffff 0%,
      #ffffff 68%,
      #f3f9cf 80%,
      #dfef85 91%,
      #a9cf27 100%) !important;
  transform:translateY(-1px) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.94),
    0 8px 18px rgba(137,157,48,.16) !important;
}

@media (max-width:1024px){
  body.modern-home-page main > .hero.hero-art-section{
    padding:8px 18px 0 !important;
  }
  body.modern-home-page .hero-art-panel{
    width:min(100%, 760px) !important;
    border-radius:20px !important;
  }
  body.modern-home-page main > .hero.hero-art-section + .section.card-section{
    padding-top:22px !important;
  }
}
@media (max-width:720px){
  body.modern-home-page main > .hero.hero-art-section{
    padding:12px 16px 0 !important;
  }
  body.modern-home-page .hero-art-panel{
    width:100% !important;
    max-width:none !important;
    border-radius:18px !important;
  }
  body.modern-home-page main > .hero.hero-art-section + .section.card-section{
    padding-top:20px !important;
  }
}

/* panel margin hero gap tune 20260608 */
@media (min-width: 721px) {
  .hero.hero-art-section {
    padding-top: 0 !important;
  }

  .hero.hero-art-section .hero-art-panel {
    margin-top: 36px !important;
  }
}

@media (max-width: 720px) {
  .hero.hero-art-section {
    padding-top: 0 !important;
  }

  .hero.hero-art-section .hero-art-panel {
    margin-top: 18px !important;
  }
}


/* 2026-06-09: company side menu gothic + stronger content accent lines */

/* 会社案内の左メニューを事業案内側と同じゴシック寄りに統一 */
body.company-page .itemichi,
body.company-page .banamidashi,
body.company-page .item-midashi,
body.company-page .item-matome,
body.company-page .item-matome a,
body.company-page .item-matome a > div,
body.company-page .item-matome h2,
body.company-page .item1 h2,
body.company-page .item2 h2,
body.company-page .item3 h2,
body.company-page .item4 h2,
body.company-page .item5 h2,
body.company-page .item6 h2{
  font-family:"Yu Gothic","Yu Gothic UI","YuGothic","Hiragino Kaku Gothic ProN",Meiryo,sans-serif !important;
  font-weight:900 !important;
  letter-spacing:.04em !important;
}

/* COMPANY見出しも明朝感を消して、BUSINESS側と近い見え方にする */
body.company-page .item-midashi{
  font-family:"Yu Gothic","Yu Gothic UI","YuGothic","Hiragino Kaku Gothic ProN",Meiryo,sans-serif !important;
  font-weight:950 !important;
  letter-spacing:.14em !important;
}

/* 本文内の左アクセント線を少し太くして、見出しの存在感を上げる */
body.company-page article h2,
body.company-page article h2.company-content-title,
body.business-page article h2.company-content-title,
body.business-page .company-content-title,
body.recruit-page .company-content-title{
  border-left-width:8px !important;
  padding-left:18px !important;
}

/* MAPページの本文見出し線 */
body.map-page .map-section-title h2{
  border-left-width:7px !important;
  padding-left:16px !important;
}

/* 問い合わせページのカード左アクセントも少し強める */
body.contact-page .contact-card::before{
  width:8px !important;
}

/* 採用ページのカード系見出しも線が細く見えないようにする */
body.recruit-page .recruit-message-card::before{
  width:9px !important;
}

/* スマホでは太すぎないように少しだけ戻す */
@media (max-width:720px){
  body.company-page article h2,
  body.company-page article h2.company-content-title,
  body.business-page article h2.company-content-title,
  body.business-page .company-content-title,
  body.recruit-page .company-content-title{
    border-left-width:6px !important;
    padding-left:14px !important;
  }

  body.map-page .map-section-title h2{
    border-left-width:6px !important;
    padding-left:14px !important;
  }
}

/* 2026-06-09: company page frame refinements */

/* ご挨拶ページ：内側の四角い枠は外して、本文カードの中で自然に見せる */
body.company-page.page-kaisyaan2 .goaisatu-flex{
  max-width:640px !important;
  margin:0 auto !important;
  padding:0 !important;
  border:none !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
}
body.company-page.page-kaisyaan2 .goaisatu-ue-flex{
  gap:32px !important;
}
body.company-page.page-kaisyaan2 .goaisatu-sita{
  margin-top:18px !important;
}
body.company-page.page-kaisyaan2 .goaisatu-pic{
  border-radius:18px !important;
  background:linear-gradient(135deg,#f6f9fc 0%,#edf3f8 100%) !important;
  box-shadow:0 10px 24px rgba(16,35,60,.10) !important;
}

/* ISO9001 品質方針：古い四角枠ではなく、上品な証書風フレームに変更 */
body.company-page.page-kaisyaan5 .hinshituhosyou-housin{
  position:relative !important;
  width:100% !important;
  max-width:620px !important;
  margin:0 auto 28px !important;
  padding:34px 36px 32px !important;
  border:1px solid rgba(206,218,229,.98) !important;
  border-radius:24px !important;
  background:linear-gradient(135deg,#ffffff 0%,#fcfdf8 56%,#f2f7fb 100%) !important;
  box-shadow:
    0 14px 34px rgba(15,35,66,.08),
    inset 0 1px 0 rgba(255,255,255,.96) !important;
  overflow:hidden !important;
}
body.company-page.page-kaisyaan5 .hinshituhosyou-housin::before{
  content:"" !important;
  position:absolute !important;
  left:0 !important;
  top:0 !important;
  width:100% !important;
  height:5px !important;
  background:linear-gradient(90deg,var(--kyoei-green),#e5ed9a,var(--kyoei-blue)) !important;
}
body.company-page.page-kaisyaan5 .hinshituhosyou-housin h2{
  margin:0 0 24px !important;
  padding-top:4px !important;
  color:var(--kyoei-navy) !important;
  font-size:clamp(1.4rem,2.05vw,1.9rem) !important;
  font-weight:900 !important;
  letter-spacing:.1em !important;
  text-align:center !important;
}
body.company-page.page-kaisyaan5 .hinshituhosyou-p-flex{
  margin:0 0 16px !important;
  grid-template-columns:2.4em minmax(0,1fr) !important;
  column-gap:.2em !important;
}
body.company-page.page-kaisyaan5 .hinshituhosyou-p-flex p{
  color:#213148 !important;
}
body.company-page.page-kaisyaan5 .hinshituhosyou-migisita{
  margin:28px 0 0 auto !important;
  padding-top:14px !important;
  border-top:1px solid rgba(214,223,232,.9) !important;
}

@media (max-width:720px){
  body.company-page.page-kaisyaan2 .goaisatu-ue-flex{
    gap:18px !important;
  }
  body.company-page.page-kaisyaan5 .hinshituhosyou-housin{
    padding:28px 18px 24px !important;
    border-radius:20px !important;
  }
}

/* YouTube embeds: keep movie frames at 16:9 regardless of iframe defaults */
body.business-page.page-jigyou4 .video-card .media,
body.company-page.page-kaisyaan6 .group-video1{
  position:relative !important;
  width:100% !important;
  aspect-ratio:16 / 9 !important;
  height:auto !important;
  overflow:hidden !important;
  background:#0c1a31 !important;
}

body.business-page.page-jigyou4 .video-card .media{
  max-width:360px !important;
  margin:0 auto !important;
  border-radius:18px !important;
}

body.company-page.page-kaisyaan6 .group-video1{
  max-width:460px !important;
  border-radius:18px !important;
}

body.business-page.page-jigyou4 .video-card .media iframe,
body.company-page.page-kaisyaan6 .group-video1 iframe{
  position:absolute !important;
  inset:0 !important;
  width:100% !important;
  max-width:none !important;
  height:100% !important;
  border:0 !important;
  border-radius:inherit !important;
  display:block !important;
}


/* 2026-06-22: privacy policy footer link and page */
.footer-copylight .footer-privacy-link{
  margin:6px 0 0 !important;
  line-height:1.7 !important;
}
.footer-copylight .footer-privacy-link a{
  color:rgba(242,246,251,.76) !important;
  font-size:.82rem !important;
  letter-spacing:.05em !important;
  text-decoration:none !important;
}
.footer-copylight .footer-privacy-link a:hover{
  color:#fff !important;
  text-decoration:underline !important;
}
body.privacy-page .privacy-page-wrap{
  padding-bottom:70px !important;
}
body.privacy-page .privacy-shell{
  width:min(920px, calc(100% - 32px)) !important;
  margin:0 auto !important;
  display:grid !important;
  gap:18px !important;
}
body.privacy-page .privacy-lead-card,
body.privacy-page .privacy-card{
  position:relative !important;
  border:1px solid rgba(214,223,232,.9) !important;
  border-radius:24px !important;
  background:linear-gradient(135deg,#ffffff 0%,#fbfdf8 55%,#f4f8fb 100%) !important;
  box-shadow:0 14px 34px rgba(15,35,66,.08) !important;
  padding:28px 32px !important;
  overflow:hidden !important;
}
body.privacy-page .privacy-lead-card::before,
body.privacy-page .privacy-card::before{
  content:"" !important;
  position:absolute !important;
  left:0 !important;
  top:0 !important;
  width:100% !important;
  height:5px !important;
  background:linear-gradient(90deg,var(--kyoei-green),#e5ed9a,var(--kyoei-blue)) !important;
}
body.privacy-page .privacy-lead-card span{
  display:inline-block !important;
  margin-bottom:8px !important;
  color:var(--kyoei-green) !important;
  font-weight:900 !important;
  letter-spacing:.18em !important;
  font-size:.78rem !important;
}
body.privacy-page .privacy-lead-card h2,
body.privacy-page .privacy-card h2{
  margin:0 0 14px !important;
  color:var(--kyoei-navy) !important;
  font-weight:900 !important;
  letter-spacing:.05em !important;
  line-height:1.45 !important;
}
body.privacy-page .privacy-lead-card h2{
  font-size:clamp(1.35rem,2vw,1.8rem) !important;
}
body.privacy-page .privacy-card h2{
  font-size:clamp(1.05rem,1.55vw,1.28rem) !important;
}
body.privacy-page .privacy-lead-card p,
body.privacy-page .privacy-card p,
body.privacy-page .privacy-card li,
body.privacy-page .privacy-card dd,
body.privacy-page .privacy-card dt{
  color:#26364d !important;
  font-size:.98rem !important;
  line-height:1.95 !important;
  letter-spacing:.03em !important;
}
body.privacy-page .privacy-card ul{
  margin:8px 0 0 1.2em !important;
  padding:0 !important;
}
body.privacy-page .privacy-card li{
  margin:.15em 0 !important;
}
body.privacy-page .privacy-updated{
  margin-top:16px !important;
  color:#6d7d8f !important;
  font-size:.9rem !important;
}
body.privacy-page .privacy-contact-card dl{
  margin:12px 0 0 !important;
}
body.privacy-page .privacy-contact-card dt{
  font-weight:900 !important;
  color:var(--kyoei-navy) !important;
}
body.privacy-page .privacy-contact-card dd{
  margin:0 !important;
}

@media (max-width:720px){
  body.privacy-page .privacy-shell{
    width:min(100% - 20px, 920px) !important;
    gap:14px !important;
  }
  body.privacy-page .privacy-lead-card,
  body.privacy-page .privacy-card{
    padding:24px 18px !important;
    border-radius:20px !important;
  }
}

/* 2026-06-22: footer copyright size fix
   kaisyaan系とmapの旧CSS footer p { font-size:0.2rem; } を上書きして、TOPと同じ表示に統一 */
.footer-copylight > p:first-child,
.footer-copylight > p:not(.footer-privacy-link){
  font-size:.85rem !important;
  font-weight:inherit !important;
  line-height:1.7 !important;
  color:rgba(242,246,251,.75) !important;
}


/* 2026-09-23: kaisyaan6 共栄製作所メディア再配置
   紹介動画2本を上段で横並び、写真は下段でスワコ・テクノと同サイズ */
body.company-page.page-kaisyaan6 .group-media-kyoei{
  width:100% !important;
  display:grid !important;
  gap:16px !important;
  justify-items:center !important;
}
body.company-page.page-kaisyaan6 .group-video-row{
  width:min(100%,550px) !important;
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:12px !important;
  align-items:stretch !important;
}
body.company-page.page-kaisyaan6 .group-video-row .group-video1{
  width:100% !important;
  max-width:none !important;
  aspect-ratio:16 / 9 !important;
  margin:0 !important;
  border-radius:16px !important;
  box-shadow:0 10px 24px rgba(13,32,58,.13) !important;
}
body.company-page.page-kaisyaan6 .group-photo-card--kyoei{
  width:min(100%,550px) !important;
  aspect-ratio:16 / 9 !important;
  margin:0 auto !important;
  border-radius:16px !important;
  overflow:hidden !important;
  box-shadow:0 10px 24px rgba(13,32,58,.13) !important;
}
body.company-page.page-kaisyaan6 .group-photo-card--kyoei .group-company-photo{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
}
@media (max-width:620px){
  body.company-page.page-kaisyaan6 .group-video-row{
    grid-template-columns:1fr !important;
    gap:10px !important;
  }
}


/* 2026-10-26: neutral near-white background for every main page, no green tint */
body,
body.modern-home-page,
body.company-page,
body.business-page,
body.recruit-page,
body.contact-page,
body.map-page{
  background:#fafafa !important;
}

/* 2026-10-29: kaisyaan2 greeting photo enlarged about 1.5x */
body.company-page.page-kaisyaan2 .goaisatu-flex{
  max-width:760px !important;
}
body.company-page.page-kaisyaan2 .goaisatu-ue-flex{
  grid-template-columns:minmax(0,1fr) 240px !important;
  gap:28px !important;
  align-items:center !important;
}
body.company-page.page-kaisyaan2 .goaisatu-pic{
  width:240px !important;
  height:240px !important;
}

@media (max-width:700px){
  body.company-page.page-kaisyaan2 .goaisatu-flex{
    max-width:100% !important;
  }
  body.company-page.page-kaisyaan2 .goaisatu-ue-flex{
    grid-template-columns:1fr !important;
    justify-items:center !important;
    gap:18px !important;
  }
  body.company-page.page-kaisyaan2 .goaisatu-pic{
    width:180px !important;
    height:180px !important;
  }
}

/* 2026-10-29: kaisyaan2 greeting text-flow refinement after enlarging photo */
body.company-page.page-kaisyaan2 .goaisatu-ue-flex{
  display:block !important;
}
body.company-page.page-kaisyaan2 .goaisatu-pic{
  float:right !important;
  width:220px !important;
  height:220px !important;
  margin:0 0 14px 28px !important;
}
body.company-page.page-kaisyaan2 .goaisatu-ue,
body.company-page.page-kaisyaan2 .goaisatu-sita{
  display:block !important;
  width:100% !important;
  max-width:none !important;
}
body.company-page.page-kaisyaan2 .goaisatu-sita{
  margin-top:0 !important;
}
body.company-page.page-kaisyaan2 .goaisatu-sita p{
  margin-top:0 !important;
}
body.company-page.page-kaisyaan2 .goaisatu-name{
  clear:both !important;
  margin-top:18px !important;
}

@media (max-width:700px){
  body.company-page.page-kaisyaan2 .goaisatu-ue-flex{
    display:grid !important;
    grid-template-columns:1fr !important;
    justify-items:center !important;
    gap:18px !important;
  }
  body.company-page.page-kaisyaan2 .goaisatu-pic{
    float:none !important;
    width:180px !important;
    height:180px !important;
    margin:0 auto !important;
  }
  body.company-page.page-kaisyaan2 .goaisatu-sita{
    margin-top:12px !important;
  }
  body.company-page.page-kaisyaan2 .goaisatu-name{
    clear:none !important;
  }
}

/* 2026-10-29: kaisyaan2 final layout - text left, photo right */
body.company-page.page-kaisyaan2 .goaisatu-flex{
  max-width:760px !important;
  display:grid !important;
  grid-template-columns:minmax(0,1fr) 220px !important;
  column-gap:32px !important;
  row-gap:14px !important;
  align-items:start !important;
}
body.company-page.page-kaisyaan2 .goaisatu-ue-flex{
  display:contents !important;
}
body.company-page.page-kaisyaan2 .goaisatu-ue{
  grid-column:1 !important;
  grid-row:1 !important;
}
body.company-page.page-kaisyaan2 .goaisatu-sita{
  grid-column:1 !important;
  grid-row:2 !important;
  margin:0 !important;
}
body.company-page.page-kaisyaan2 .goaisatu-pic{
  grid-column:2 !important;
  grid-row:1 / span 2 !important;
  float:none !important;
  width:220px !important;
  height:220px !important;
  margin:0 !important;
  align-self:start !important;
}
body.company-page.page-kaisyaan2 .goaisatu-ue p,
body.company-page.page-kaisyaan2 .goaisatu-sita p{
  margin:0 !important;
}
body.company-page.page-kaisyaan2 .goaisatu-name{
  margin-top:18px !important;
  text-align:right !important;
  clear:none !important;
}

@media (max-width:700px){
  body.company-page.page-kaisyaan2 .goaisatu-flex{
    max-width:100% !important;
    grid-template-columns:1fr !important;
    row-gap:16px !important;
  }
  body.company-page.page-kaisyaan2 .goaisatu-ue-flex{
    display:grid !important;
    grid-template-columns:1fr !important;
    justify-items:center !important;
    gap:18px !important;
  }
  body.company-page.page-kaisyaan2 .goaisatu-ue{
    grid-column:auto !important;
    grid-row:auto !important;
    order:2 !important;
  }
  body.company-page.page-kaisyaan2 .goaisatu-pic{
    grid-column:auto !important;
    grid-row:auto !important;
    width:180px !important;
    height:180px !important;
    margin:0 auto !important;
    order:1 !important;
  }
  body.company-page.page-kaisyaan2 .goaisatu-sita{
    grid-column:auto !important;
    grid-row:auto !important;
    margin:0 !important;
  }
}
