/* 基本姿勢専用。共通の色・書体・余白変数を利用。 */
.principles-section{background:var(--off-white,#faf8f5);color:var(--ink,#171717);font-family:var(--font);padding:var(--section-space,96px) 24px;scroll-margin-top:calc(var(--header-height,100px) + 16px)}
.principles-inner{max-width:var(--content-width,1200px);margin-inline:auto}
.principles-heading{margin-bottom:40px}
.principles-heading>p{margin:0 0 14px;color:var(--accent,#FF32CB);font-size:14px;font-weight:800;letter-spacing:.2em}
.principles-heading h2{font-size:clamp(28px,3vw,38px);font-weight:900;line-height:1.5;margin:0}
.principles-heading:after{content:"";display:block;width:48px;height:3px;background:var(--accent,#FF32CB);margin-top:22px}
.principles-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:1fr;gap:24px}
.principle-card{min-width:0;padding:clamp(24px,3vw,40px);background:var(--white,#fff);border:1px solid #e8e1de;border-radius:20px}
.principle-meta{display:flex;align-items:center;justify-content:space-between;color:var(--accent,#FF32CB);margin-bottom:22px}
.principle-number{font-size:32px;line-height:1;font-weight:900;letter-spacing:.04em}
.principle-meta svg{width:40px;height:40px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.principle-card h3{font-size:clamp(20px,2vw,25px);font-weight:900;line-height:1.6;margin:0 0 14px;overflow-wrap:anywhere}
.principle-card>p{font-size:16px;font-weight:400;line-height:1.8;color:#3c3c3c;margin:0;overflow-wrap:anywhere}
@media(max-width:700px){.principles-section{padding:64px 24px}.principles-grid{grid-template-columns:minmax(0,1fr);grid-auto-rows:auto;gap:18px}.principles-heading{margin-bottom:30px}.principle-card{padding:26px 24px}.principle-meta{margin-bottom:18px}}




