/* 対象別ページ（人事・D&I・組合・IR）共通の部品。色は style.css の変数を使用 */


.page-hero{padding:64px 0 56px}
.page-hero h1{font-size:clamp(30px,4.4vw,46px)}
.crumb{font-size:13px;color:var(--muted);margin-bottom:20px}
.crumb a{text-decoration:none}
.crumb a:hover{color:var(--coral)}
.law-note{margin-top:36px;background:#fff;border:1px solid var(--line);border-left:4px solid var(--coral);border-radius:var(--radius);padding:22px 26px;font-size:15px;color:var(--ink)}
.law-note b{display:block;color:var(--navy);font-size:16px;margin-bottom:6px}
.law-note p{margin:0}
.law-note small{display:block;margin-top:10px;color:var(--muted);font-size:12px}
.hr-issues{grid-template-columns:repeat(2,1fr);gap:36px 40px;margin-bottom:0}
.prog-list{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;margin-top:24px}
.prog-item{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:28px;display:flex;flex-direction:column}
.prog-item h3{font-size:19px;color:var(--navy);margin:14px 0 10px}
.prog-item p{font-size:14.5px;color:var(--muted)}
.prog-item ul{margin:0;padding-left:1.2em;font-size:14px;color:var(--muted)}
.deliverables{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.deliverables div{border-top:2px solid var(--coral);padding-top:18px}
.deliverables h3{font-size:17px;color:var(--navy);margin-bottom:8px}
.deliverables p{font-size:14px;color:var(--muted);margin:0}
.flow-only .flow{margin:0}
.faq{border-top:1px solid var(--line)}
.faq details{border-bottom:1px solid var(--line);padding:18px 4px}
.faq summary{cursor:pointer;font-weight:700;color:var(--navy);list-style:none;position:relative;padding-right:28px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::before{content:"Q.";font-family:var(--en);color:var(--coral);margin-right:10px}
.faq summary::after{content:"+";position:absolute;right:4px;top:0;color:var(--coral);font-family:var(--en)}
.faq details[open] summary::after{content:"−"}
.faq details p{margin:12px 0 0;color:var(--muted);font-size:15px}
.trial .hero-actions{justify-content:center;margin-top:0}
@media (max-width:960px){.deliverables{grid-template-columns:1fr 1fr}}
@media (max-width:640px){.hr-issues,.prog-list,.deliverables{grid-template-columns:1fr}.law-note{padding:18px}}
.why{display:grid;grid-template-columns:1.1fr 1fr;gap:56px;align-items:center}
.voice{font-family:var(--serif);font-size:clamp(19px,2.4vw,24px);color:var(--navy);line-height:1.8;border-left:4px solid var(--coral);padding:6px 0 6px 22px;margin:28px 0}
.voice small{display:block;font-family:var(--sans);font-size:13px;color:var(--muted);margin-top:8px}
.ratio{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.ratio figure{margin:0;background:var(--bg-soft);border-radius:var(--radius);padding:22px}
.ratio figcaption{font-size:13px;color:var(--muted);margin-top:14px;line-height:1.7}
.ratio figcaption strong{display:block;font-family:var(--en);font-size:30px;color:var(--navy);line-height:1.2}
.ratio figcaption strong small{font-family:var(--sans);font-size:14px;margin-left:4px}
.dots{display:grid;grid-template-columns:repeat(10,1fr);gap:5px}
.dots i{aspect-ratio:1;border-radius:50%;background:#d9dde5}
.dots i.on{background:var(--coral);box-shadow:0 0 0 3px #fdeae5}
.src{font-size:11.5px;color:var(--muted);margin-top:14px}
.points{list-style:none;padding:0;margin:0 0 28px;display:grid;grid-template-columns:1fr 1fr;gap:12px}
.points li{background:var(--bg-soft);border-radius:12px;padding:18px 20px;font-size:14.5px;color:var(--muted)}
.points b{display:block;color:var(--navy);font-size:16px;margin-bottom:4px}
.program+.program{margin-top:24px}
@media (max-width:960px){.why{grid-template-columns:1fr;gap:32px}}
@media (max-width:640px){.points{grid-template-columns:1fr}.ratio{gap:12px}.ratio figure{padding:16px}}
.shout{background:var(--navy);color:#fff;border-radius:20px;padding:36px 40px;margin-top:36px;position:relative}
.shout p{margin:0}
.shout .q{font-family:var(--serif);font-size:clamp(18px,2.4vw,23px);line-height:1.8}
.shout .q em{font-style:normal;color:var(--amber)}
.shout .aside{color:#c3cbdb;font-size:13.5px;margin-top:10px}
.need-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.need{background:#fff;border-radius:var(--radius);padding:24px;border-left:4px solid var(--amber)}
.need h3{font-size:17px;color:var(--navy);margin-bottom:6px}
.need p{font-size:14.5px;color:var(--muted);margin:0}
.towel{display:flex;gap:16px;align-items:baseline;flex-wrap:wrap;margin-bottom:28px;font-size:15px;color:var(--muted)}
.towel s{color:var(--muted)}
.towel b{color:var(--coral)}
@media (max-width:960px){.need-grid{grid-template-columns:1fr 1fr}}
@media (max-width:640px){.need-grid{grid-template-columns:1fr}.shout{padding:26px 22px}}
.layers{display:grid;gap:10px}
.layer{display:grid;grid-template-columns:220px 1fr;gap:20px;align-items:center;border-radius:12px;padding:18px 22px;background:var(--bg-soft)}
.layer b{color:var(--navy);font-size:16px}
.layer span{font-size:14.5px;color:var(--muted)}
.layer.gap{background:#fff;border:2px dashed #cdd2db}
.layer.gap b{color:var(--muted)}
.layer.union{background:var(--coral);color:#fff}
.layer.union b,.layer.union span{color:#fff}
.glad{font-family:var(--serif);font-size:clamp(18px,2.2vw,22px);color:var(--navy);line-height:1.9;margin:36px 0 0;padding:24px 28px;background:var(--bg-soft);border-radius:var(--radius)}
.from-to{display:grid;grid-template-columns:1fr auto 1fr;gap:16px;align-items:center;margin-top:28px}
.from-to div{border-radius:12px;padding:18px 22px;font-size:15px}
.from-to .from{background:var(--bg-soft);color:var(--muted)}
.from-to .to{background:var(--navy);color:#fff;font-weight:700}
.from-to .arrow{font-family:var(--en);color:var(--coral);font-size:24px;font-weight:700}
.walk{display:grid;grid-template-columns:auto 1fr;gap:20px;align-items:center;background:#e2f1f1;border-radius:12px;padding:20px 24px;margin:0 0 28px}
.walk .big{font-family:var(--serif);font-size:clamp(17px,2vw,20px);color:var(--navy);margin:0}
.walk p{margin:0;font-size:14.5px;color:var(--muted)}
.walk svg{width:56px;height:56px}
.plan-badge{display:inline-block;font-size:12px;border:1px solid var(--line);border-radius:6px;padding:2px 10px;color:var(--muted);margin-left:8px;vertical-align:middle;font-weight:500}
.program+.program{margin-top:24px}
.record{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:start}
.record-card{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.18);border-radius:var(--radius);padding:28px}
.record-card h3{color:#fff;font-size:18px;margin-bottom:12px}
.record-card ul{margin:0;padding-left:1.2em;color:#c3cbdb;font-size:14.5px;line-height:2}
.record-card .note{font-size:12px;color:#8f9ab0;margin:12px 0 0}
.business .record p{color:#c3cbdb}
@media (max-width:960px){.record{grid-template-columns:1fr;gap:24px}}
@media (max-width:640px){.layer{grid-template-columns:1fr;gap:4px}.from-to{grid-template-columns:1fr}.from-to .arrow{text-align:center;transform:rotate(90deg)}.walk{grid-template-columns:1fr}}

/* audience tabs */
.aud-tabs{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 28px}
.aud-tabs a{text-decoration:none;font-size:13.5px;font-weight:700;padding:7px 16px;border-radius:999px;border:1px solid var(--line);background:#fff;color:var(--navy)}
.aud-tabs a:hover{border-color:var(--navy)}
.aud-tabs a[aria-current="page"]{background:var(--navy);border-color:var(--navy);color:#fff}
/* sample disclosure (IR) */
.sample{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:28px 32px;margin-top:28px;position:relative}
.sample .tag-s{position:absolute;top:-12px;left:24px;background:var(--coral);color:#fff;font-size:12px;font-weight:700;padding:3px 12px;border-radius:999px}
.sample h3{font-size:17px;color:var(--navy);margin:6px 0 10px}
.sample p{font-family:var(--serif);font-size:15.5px;line-height:2;color:var(--ink);margin:0}
.sample small{display:block;margin-top:12px;color:var(--muted);font-size:12px}

.services + .contact{border-top:1px solid var(--line)}

.voice-h1{font-size:clamp(26px,4vw,40px)!important;line-height:1.6}
.worries-close{color:#fff;font-family:var(--serif);font-size:18px;margin:40px 0 0}

