.ndp3-values {
--ndp3-ink: #1a1a1a;
--ndp3-paper: #f7f5ef;
max-width: 1480px;
margin: 110px auto;
padding: 96px 40px 110px;
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: 40px; }
.ndp3-values::after { bottom: 40px; }
.ndp3-head { text-align: center; margin: 0 auto 52px; }
.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 12px; 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.48 / 1; overflow: hidden; margin: 0 0 24px; background: #e8e5dc; }
.ndp3-visual img { width: 100%; height: 100%; 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); margin: 26px 0 10px; font-size: clamp(27px, 2.4vw, 42px); font-weight: 500; letter-spacing: .08em; }
.ndp3-tagline { margin: 0 0 24px; font-family: sans-serif; font-size: 14px; font-weight: 600; letter-spacing: .08em; }
.ndp3-text { min-height: 3.4em; margin: 0 0 30px; color: #333; font-family: sans-serif; font-size: 14px; line-height: 2; 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: 70px auto; padding: 70px 20px 84px; }
.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 36px; }
.ndp3-pillar:last-child { border-bottom: 0; padding-bottom: 0; }
.ndp3-visual { aspect-ratio: 1.5 / 1; }
}
@media (max-width: 600px) {
.ndp3-values { margin: 50px 0; padding: 62px 18px 70px; }
.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; }
}