/* Route: legal (design00/assets/routes/legal.css, ported verbatim). Used by: shop/customer_terms only. */
/* Route: legal */
body{background:#fff}
main.ct{max-width:1200px;margin:0 auto;padding:20px 20px 80px}
.ct-lead{max-width:680px;margin:0 auto 18px;font-size:13.5px;line-height:2.1}
.ct-tel{max-width:680px;margin:0 auto 30px;background:var(--wash);border:1px solid var(--line);border-radius:14px;font-size:12.5px;line-height:2;padding:14px 18px}
.ctf{max-width:680px;margin:0 auto}
.ctf .row{margin:0 0 20px}
.ctf label{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:700;margin:0 0 8px}
.ctf .req{font-size:9.5px;font-weight:700;color:#fff;background:var(--red);border-radius:3px;padding:1px 7px;letter-spacing:.1em}
.ctf .opt{font-size:9.5px;font-weight:700;color:var(--mute);background:var(--line);border-radius:3px;padding:1px 7px;letter-spacing:.1em}
.ctf input[type=text],.ctf input[type=email],.ctf input[type=tel],.ctf select,.ctf textarea{width:100%;font-family:inherit;font-size:14px;color:var(--ink);background:#fff;border:1.5px solid var(--line);border-radius:8px;padding:12px 14px;outline:none}
.ctf input:focus,.ctf select:focus,.ctf textarea:focus{border-color:var(--red)}
.ctf textarea{min-height:170px;resize:vertical}
.ctf .agree{display:flex;align-items:center;gap:10px;font-size:12.5px;font-weight:500;margin:26px 0 20px}
.ctf .agree a{color:var(--red);text-decoration:underline}
.ctf button{display:block;width:max-content;margin:0 auto;font-family:inherit;font-size:14px;font-weight:700;letter-spacing:.14em;color:#fff;background:var(--red);border:none;border-radius:100px;padding:15px 60px;cursor:pointer}
.ctf button:hover{background:var(--red-d)}
.ctf .dmy{text-align:center;font-size:10.5px;color:#B4AFA6;margin:10px 0 0}
.terms{max-width:760px;margin:0}
.terms h2{font-size:16px;font-weight:700;letter-spacing:.06em;margin:34px 0 12px;padding-left:14px;border-left:4px solid var(--red);line-height:1.5}
.terms p,.terms li{font-size:13px;line-height:2.1}
.terms p{margin:0 0 12px}
.terms ol,.terms ul{margin:0 0 12px;padding-left:22px}
.terms .upd{font-size:11.5px;color:var(--mute);text-align:right;margin:30px 0 0}


/* 2026-08-19 admin-managed legal plaintext */
.kk-admin-terms{max-width:760px;margin:0}
.kk-admin-term{margin:0 0 34px}
.kk-admin-term h2{font-family:var(--font-sans);font-size:17px;font-weight:700;letter-spacing:.06em;line-height:1.6;margin:0 0 12px;padding-left:14px;border-left:4px solid var(--t-shu,#C4222A);color:var(--t-ink,#1A1A1A)}
.kk-admin-term__text pre{margin:0;white-space:pre-wrap;word-break:break-word;font:inherit;font-family:var(--font-sans);font-size:13.5px;line-height:2;color:var(--t-ink,#1A1A1A);background:none;border:0;padding:0}
@media(max-width:640px){.kk-admin-term{margin-bottom:28px}.kk-admin-term h2{font-size:16px}.kk-admin-term__text pre{font-size:13px;line-height:1.95}}

/* 2026-08-19 legal alignment: heading and managed text share guide-style left edge */
.kk-legal-page{max-width:1200px!important;margin:0 auto!important;padding:20px 20px 80px!important}
.kk-legal-page .kk-legal-breadcrumbs,.kk-legal-page>.p-breadcrumbs{max-width:none!important;margin:0 0 26px!important;padding:0!important}
.kk-legal-page .bl-h{margin-left:0!important}
.kk-legal-page .kk-admin-terms{max-width:760px!important;margin-left:0!important;margin-right:0!important}
.kk-legal-page .back{display:inline-block;margin-top:28px}
