.ndp3-values {
--ndp3-ink: #1a1a1a;
--ndp3-paper: #fff;
max-width: 1480px;
margin: 70px auto !important;
padding: 70px 40px 76px !important;
color: var(--ndp3-ink);
background: var(--ndp3-paper);
font-family: "Yu Mincho", "Hiragino Mincho ProN", "YuMincho", serif;
position: relative;
}
.ndp3-values::before,
.ndp3-values::after {
content: "";
position: absolute;
left: 40px;
right: 40px;
height: 1px;
background: rgba(26,26,26,.22);
}
.ndp3-values::before { top: 28px; }
.ndp3-values::after { bottom: 28px; }
.ndp3-head { text-align: center; margin: 0 auto 34px !important; }
.ndp3-title { margin: 0 0 20px; font-size: clamp(30px, 3.1vw, 54px); font-weight: 500; letter-spacing: .08em; line-height: 1.4; }
.ndp3-title span { display: inline; }
.ndp3-lead { margin: 0; color: #666; font-family: inherit; font-size: 14px; letter-spacing: .04em; }
.ndp3-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.ndp3-pillar { min-width: 0; padding: 0 28px 8px !important; border-left: 1px solid rgba(26,26,26,.14); position: relative; }
.ndp3-pillar:last-child { border-right: 1px solid rgba(26,26,26,.14); }
.ndp3-visual { aspect-ratio: 1.38 / 1; overflow: hidden; margin: 0 0 16px !important; background: #fff; }
.ndp3-visual img { width: 100% !important; height: 100% !important; max-width: none !important; display: block; object-fit: cover; transition: transform .65s cubic-bezier(.2,.7,.2,1); }
.ndp3-pillar:hover .ndp3-visual img { transform: scale(1.035); }
.ndp3-no { display: flex; align-items: baseline; gap: 18px; border-top: 3px solid currentColor; padding-top: 16px; }
.ndp3-num { font-family: Georgia, serif; font-size: 46px; line-height: 1; letter-spacing: .02em; }
.ndp3-en { font-family: Georgia, serif; font-size: 12px; letter-spacing: .3em; }
.ndp3-pillar--todokeru { color: #146b9a; }
.ndp3-pillar--res { color: #377a43; }
.ndp3-pillar--tsukuru { color: #d86d19; }
.ndp3-pillar-title { color: var(--ndp3-ink) !important; margin: 14px 0 6px !important; font-size: clamp(27px, 2.4vw, 42px); font-weight: 500; letter-spacing: .08em; }
.ndp3-tagline { margin: 0 0 14px !important; font-family: sans-serif; font-size: 14px; font-weight: 600; letter-spacing: .08em; }
.ndp3-text { min-height: 0; margin: 0 0 18px !important; color: #222 !important; font-family: sans-serif; font-size: 14px; line-height: 1.7; letter-spacing: .03em; }
.ndp3-btn { display: inline-flex !important; align-items: center; justify-content: flex-start !important; width: auto !important; height: auto !important; min-width: 0 !important; gap: 16px; color: currentColor !important; background: transparent !important; font-family: sans-serif; font-size: 14px; font-weight: 600; letter-spacing: .08em; text-decoration: none; border: 0 !important; border-bottom: 1px solid currentColor !important; border-radius: 0 !important; padding: 0 0 8px !important; transition: gap .25s ease; }
.ndp3-btn:hover, .ndp3-btn:focus-visible { gap: 24px; }
@media (max-width: 900px) {
.ndp3-values { margin: 50px auto !important; padding: 56px 20px 64px !important; }
.ndp3-values::before, .ndp3-values::after { left: 20px; right: 20px; }
.ndp3-grid { grid-template-columns: 1fr; gap: 36px; }
.ndp3-pillar, .ndp3-pillar:last-child { border: 0; border-bottom: 1px solid rgba(26,26,26,.14); padding: 0 0 28px !important; }
.ndp3-pillar:last-child { border-bottom: 0; padding-bottom: 0; }
.ndp3-visual { aspect-ratio: 1.5 / 1; }
}
@media (max-width: 600px) {
.ndp3-values { margin: 40px 0 !important; padding: 48px 18px 56px !important; }
.ndp3-title { font-size: 30px; }
.ndp3-title span { display: block; }
.ndp3-lead { font-size: 12px; line-height: 1.8; }
.ndp3-num { font-size: 38px; }
.ndp3-pillar-title { font-size: 32px; }
}