/* template-company.php（会社案内）専用CSS */
.nh-page .greeting{background:var(--paper);}
.nh-page .greeting-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:56px;align-items:center;}
.nh-page .greeting-photo{position:relative;height:440px;box-shadow:0 24px 48px rgba(150,110,70,.16);}
.nh-page .greeting-text p{color:var(--ink-soft);font-size:15px;margin-bottom:16px;}
.nh-page .greeting-sign{margin-top:24px;text-align:right;padding-top:18px;border-top:1.5px solid var(--line);}
.nh-page .greeting-sign .role{font-size:12.5px;color:var(--ink-soft);}
.nh-page .greeting-sign .name{font-size:20px;font-weight:900;color:var(--ink);margin-top:4px;}
.nh-page .info-table-sec{background:var(--mint-deep);}
.nh-page .info-table-sec .sec-title{color:#fff;}
.nh-page .info-table-sec .sec-tag{color:var(--glow);}

/* ===== CODE OF CONDUCT（社長挨拶の直下に配置） ===== */
.nh-page .conduct{background:var(--mint-deep);position:relative;overflow:hidden;padding:64px 0;}
.nh-page .conduct-media{position:absolute;inset:0;z-index:0;}
.nh-page .conduct-media img{position:absolute;inset:-30px;width:calc(100% + 60px);height:calc(100% + 60px);object-fit:cover;filter:blur(6px) saturate(1.1);opacity:0;animation:conductFade 18s infinite ease-in-out;}
.nh-page .conduct-media img:nth-child(1){animation-delay:0s;}
.nh-page .conduct-media img:nth-child(2){animation-delay:6s;}
.nh-page .conduct-media img:nth-child(3){animation-delay:12s;}
@keyframes conductFade{0%{opacity:0;}6%{opacity:1;}30%{opacity:1;}37%{opacity:0;}100%{opacity:0;}}
.nh-page .conduct-overlay{position:absolute;inset:0;z-index:1;background:rgba(43,58,74,.92);}
.nh-page .conduct-inner{position:relative;z-index:2;max-width:760px;margin:0 auto;text-align:center;}
.nh-page .conduct-inner .sec-tag{justify-content:center;color:var(--glow);}
.nh-page .conduct-brush{font-family:'Zen Kaku Gothic New','Noto Sans JP',sans-serif;font-weight:900;font-size:clamp(26px,3.6vw,38px);letter-spacing:.1em;line-height:1;margin:10px 0 4px;color:#fff;}
.nh-page .conduct-text{font-size:14.5px;color:var(--ink-on-dark);margin:14px 0 0;line-height:1.85;}

@media (max-width:920px){
  .nh-page .greeting-sign{text-align:left;}
}

/* ===== 健康宣言（中央配置・画像は文章の下） ===== */
.nh-page .kenko{background:var(--paper);}
.nh-page .kenko-inner{max-width:880px;margin:0 auto;text-align:center;}
.nh-page .kenko-text .sec-tag{margin-bottom:10px;}
.nh-page .kenko-text .sec-title{margin-bottom:14px;}
.nh-page .kenko-lead{font-size:18px;font-weight:700;color:var(--ink);margin-bottom:14px;}
.nh-page .kenko-text p{color:var(--ink-soft);font-size:15px;margin-bottom:14px;line-height:1.9;}
.nh-page .kenko-badge{width:100%;max-width:820px;margin:32px auto 0;border-radius:var(--r-md);overflow:hidden;box-shadow:0 20px 40px rgba(0,0,0,.14);}
.nh-page .kenko-badge img{width:100%;height:auto;display:block;}

/* アクセス：白背景（紺・白交互配置のため会社案内のみ） */
.nh-page .access.access-light{background:var(--paper);}
.nh-page .access.access-light .sec-title{color:var(--ink);}
.nh-page .access.access-light .info-pill{background:var(--line);color:var(--ink-soft);}
.nh-page .access.access-light .info-value{color:var(--ink);}
.nh-page .access.access-light .btn-outline-w{border-color:var(--mint-deep);color:var(--mint-deep);}
.nh-page .access.access-light .btn-outline-w:hover{background:var(--mint-deep);color:#fff;}
.nh-page .access.access-light .access-map{box-shadow:0 16px 34px rgba(0,0,0,.12);}


/* 2026-09-25 スマホ：社長写真を中央配置／マップを正方形・画面幅いっぱい（左右12px余白） */
@media (max-width:640px){
  .nh-page .greeting-grid{grid-template-columns:1fr;gap:28px;}
  .nh-page .greeting-photo{width:min(260px,70vw);height:calc(min(260px,70vw) * 1.2);margin:0 auto;}
  .nh-page .access-map{width:auto;height:auto;aspect-ratio:1/1;margin:0 -12px;}
  .nh-page .access-map iframe{width:100%;height:100%;}
}

/* 行動指針：背景画像なし・紺ベタ／健康宣言：中央寄せ＋禁煙補助NEW */
.nh-page .conduct-media,.nh-page .conduct-overlay{display:none;}
.nh-page .kenko-text,.nh-page .kenko-text *{text-align:center;}
.nh-page .kenko-text .sec-tag{display:block;}
.nh-page .kenko-notice{position:relative;max-width:640px;margin:32px auto 0;padding:34px 28px 26px;border:2px solid #d62828;border-radius:var(--r-md);background:#fff;text-align:center;}
.nh-page .kenko-notice-title{font-size:clamp(20px,2.6vw,26px);font-weight:900;color:var(--ink);margin:6px 0 12px;}
.nh-page .kenko-notice p{font-size:14.5px;color:var(--ink-soft);line-height:1.9;margin:0 0 8px;}
.nh-page .new-badge{position:absolute;top:-14px;left:50%;transform:translateX(-50%);background:#d62828;color:#fff;font-family:'Inter',sans-serif;font-weight:800;font-size:13px;letter-spacing:.14em;padding:4px 18px;border-radius:20px;animation:newGlow 1.4s ease-in-out infinite;}
@keyframes newGlow{0%,100%{opacity:1;box-shadow:0 0 14px 4px rgba(214,40,40,.65);}50%{opacity:.45;box-shadow:0 0 3px 0 rgba(214,40,40,.2);}}
@media (prefers-reduced-motion:reduce){.nh-page .new-badge{animation:none;}}
