/* 政策専用。共通デザイン変数を使用。 */
.policies-section{background:var(--white,#fff);color:var(--ink,#171717);font-family:var(--font);padding:var(--section-space,96px) 24px;scroll-margin-top:calc(var(--header-height,100px) + 16px)}
.policies-inner{max-width:var(--content-width,1200px);margin-inline:auto}
.policies-heading>p{margin:0 0 14px;color:var(--accent,#FF32CB);font-size:14px;font-weight:800;letter-spacing:.2em}
.policies-heading h2{font-size:clamp(28px,3vw,38px);font-weight:900;line-height:1.5;margin:0}
.policies-heading:after{content:"";display:block;width:48px;height:3px;background:var(--accent);margin-top:22px}
.policies-intro{max-width:820px;font-size:17px;font-weight:400;line-height:1.8;margin:28px 0 16px;color:#333}
.policies-note{font-size:14px;font-weight:400;line-height:1.8;color:#666;margin:0 0 36px;max-width:900px}.policies-note a{color:var(--accent);text-decoration:underline;text-underline-offset:3px}
.policies-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;align-items:start}
.policy-card{min-width:0;background:var(--white);border:1px solid #e8e1de;border-radius:18px;padding:28px 24px}
.policy-meta{display:flex;align-items:center;justify-content:space-between;color:var(--accent);margin-bottom:20px}.policy-meta>span{font-size:30px;font-weight:900;line-height:1}.policy-meta svg{width:36px;height:36px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.policy-card h3{margin:0 0 14px;font-size:21px;line-height:1.6;font-weight:900;overflow-wrap:anywhere}.policy-summary{font-size:16px;line-height:1.8;font-weight:400;color:#444;margin:0 0 22px}
.policy-details{border-top:1px solid #eee5e3}.policy-details>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;list-style:none;cursor:pointer;color:var(--accent);font-weight:800;font-size:15px;padding-top:18px;line-height:1.6}.policy-details>summary::-webkit-details-marker{display:none}.policy-details>summary:focus-visible{outline:3px solid #215f85;outline-offset:5px;border-radius:3px}.policy-close-label{display:none}.policy-details[open] .policy-open-label{display:none}.policy-details[open] .policy-close-label{display:inline}.policy-toggle-icon{position:relative;width:14px;height:14px;flex:none}.policy-toggle-icon:before,.policy-toggle-icon:after{content:"";position:absolute;left:0;top:6px;width:14px;height:2px;background:currentColor}.policy-toggle-icon:after{transform:rotate(90deg)}.policy-details[open] .policy-toggle-icon:after{display:none}
.policy-detail-body{padding-top:20px;font-size:15px;font-weight:400;line-height:1.8;overflow-wrap:anywhere}.policy-detail-body h4{font-size:15px;font-weight:800;margin:20px 0 8px}.policy-detail-body h4:first-child{margin-top:0}.policy-detail-body p{margin:0 0 16px}.policy-detail-body ul{padding-left:1.3em;margin:0}.policy-detail-body li+li{margin-top:10px}.policy-detail-body a{color:var(--accent);text-decoration:underline;text-underline-offset:3px}.policy-detail-body .policy-source{font-size:12px;margin:22px 0 0}
@media(min-width:701px) and (max-width:1000px){.policies-grid{gap:16px}.policy-card{padding:24px 18px}.policy-card h3{font-size:19px}}
@media(max-width:700px){.policies-section{padding:64px 24px}.policies-grid{grid-template-columns:minmax(0,1fr);gap:18px}.policies-intro{font-size:16px}.policy-card{padding:26px 24px}}




