/* Kokoyori terms and privacy: quiet, readable, accessible legal pages. */
.legal-page{max-width:890px;margin:0 auto;color:#6b585f}
.legal-heading{margin-bottom:24px;padding-bottom:28px}
.legal-heading h1{font-size:clamp(30px,4vw,40px);margin-bottom:14px}
.legal-heading>p:not(.seo-kicker){max-width:720px;line-height:2.05;font-size:14px}
.legal-edition{display:inline-block;margin-top:14px;font-size:11px;letter-spacing:.04em;color:#a08891}
.legal-opening{display:flex;align-items:flex-start;gap:18px;background:linear-gradient(120deg,#fcf1f2,#fffaf5);border:1px solid #f0dde1;border-radius:20px;padding:23px 26px;margin:0 0 28px}
.legal-opening-flower{font-size:33px;line-height:1;color:#c18b97;flex:none;margin-top:3px}
.legal-opening strong{font-size:15px;color:#805766}
.legal-opening p{font-size:13px;line-height:2.1;margin:10px 0 0}
.legal-opening p strong{font-size:inherit}
.legal-toc{padding:24px 26px 25px;margin:0 0 32px;background:#fffaf9;border:1px solid #f0e5e7;border-radius:18px}
.legal-toc>p{font-size:12px;font-weight:700;letter-spacing:.04em;color:#856874;margin:0 0 14px}
.legal-toc>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:20px;row-gap:7px}
.legal-toc a{position:relative;display:block;font-size:12px;line-height:1.85;color:#a26c7d;padding:5px 10px 5px 17px;border-radius:8px;text-decoration:none}
.legal-toc a:before{content:'›';position:absolute;left:2px;color:#c496a1}
.legal-toc a:hover,.legal-toc a:focus-visible{background:#f9edef;text-decoration:underline;text-underline-offset:3px}
.legal-sections{display:grid;gap:0}
.legal-section{position:relative;scroll-margin-top:115px;padding:26px 0 29px;border-bottom:1px solid #f0e5e7}
.legal-section:first-child{padding-top:12px}
.legal-number{display:block;color:#c398a2;font:600 10px/1.5 var(--sans);letter-spacing:.18em;margin-bottom:8px}
.seo-article .legal-section h2{font-family:var(--serif);font-size:clamp(20px,2.4vw,24px);line-height:1.6;color:#76545f;margin:0 0 16px}
.legal-section p,.legal-section li{font-size:13px;line-height:2.15;color:#6c5b61}
.legal-section p{margin:0 0 15px}
.legal-section p:last-child{margin-bottom:0}
.legal-section ul{margin:10px 0 12px;padding-left:1.35em}
.legal-section li{padding:0 0 6px 0}
.legal-section strong{font-weight:700;color:#7c5965}
.legal-section a{color:#a36778;text-decoration:underline;text-underline-offset:4px;overflow-wrap:anywhere}
.legal-soft-note{border:1px solid #e9dce3;background:#fbf7f5;border-radius:15px;padding:17px 20px;margin-top:17px}
.legal-soft-note>strong{font-size:12px;color:#a16b7c}
.legal-soft-note p{font-size:12px;line-height:2.05;margin:7px 0 0}
.legal-company-sign{color:#927d85!important;font-size:12px!important;margin-top:15px!important}
.legal-operator{margin:0;padding:0;border-top:1px solid #f1e7e8}
.legal-operator>div{display:grid;grid-template-columns:115px 1fr;gap:12px;padding:14px 3px;border-bottom:1px solid #f1e7e8}
.legal-operator dt{font-size:12px;font-weight:700;color:#987f88;line-height:1.8}
.legal-operator dd{font-size:13px;margin:0;line-height:2;overflow-wrap:anywhere}
.legal-end-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px;margin-top:30px}
.legal-end-links a{position:relative;display:flex;flex-direction:column;gap:4px;min-height:90px;padding:20px 32px 20px 22px;background:#fff8f7;border:1px solid #ead9dd;border-radius:16px;text-decoration:none;transition:background .15s,border-color .15s}
.legal-end-links a:hover,.legal-end-links a:focus-visible{background:#f8ecee;border-color:#d6a8b2}
.legal-end-links a span{font-size:9px;letter-spacing:.12em;color:#bb8f9a;font-weight:700}
.legal-end-links a strong{font-size:13px;color:#795864;line-height:1.6}
.legal-end-links a b{position:absolute;right:18px;top:50%;transform:translateY(-50%);color:#b78291;font-weight:400}
@media(max-width:680px){.legal-heading{margin-bottom:20px}.legal-heading>p:not(.seo-kicker){font-size:12px}.legal-opening{padding:18px 16px;gap:12px;border-radius:14px}.legal-opening-flower{font-size:24px}.legal-opening strong{font-size:13px}.legal-opening p{font-size:11.5px}.legal-toc{padding:18px 16px;margin-bottom:22px}.legal-toc>div{grid-template-columns:1fr;gap:1px}.legal-toc a{font-size:11.5px}.legal-section{scroll-margin-top:83px;padding:24px 0}.legal-section:first-child{padding-top:5px}.seo-article .legal-section h2{font-size:20px}.legal-section p,.legal-section li{font-size:12px;line-height:2.12}.legal-section ul{padding-left:1.2em}.legal-soft-note{padding:14px 15px}.legal-operator>div{grid-template-columns:87px 1fr;gap:9px}.legal-operator dt{font-size:11px}.legal-operator dd{font-size:11.5px}.legal-end-links{grid-template-columns:1fr;gap:10px}.legal-end-links a{min-height:74px;padding:15px 32px 15px 17px}}
