:root{--bg:#fcfcfc;--ink:#1a1a1a;--muted:#666;--line:#e0e0e0;--gray:#f0f0f0;--red:#b04040;--ok:#2f7a4d}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--ink);font-family:'Noto Sans JP',sans-serif;line-height:1.8}
.wrap{max-width:760px;margin:0 auto;padding:56px 16px 90px}
.brand{font-family:'Shippori Mincho',serif;font-weight:600;letter-spacing:.1em;font-size:14px;color:var(--muted)}
h1{font-family:'Shippori Mincho',serif;font-weight:400;font-size:30px;line-height:1.4;margin:8px 0 12px}
h2{font-family:'Shippori Mincho',serif;font-weight:400;font-size:20px;border-bottom:1px solid var(--line);padding-bottom:8px;margin:44px 0 16px}
.lead{color:#444}
.box{background:#fff;border:1px solid var(--line);padding:20px;margin:16px 0}
.note{font-size:13px;color:var(--muted)}
label.f{display:block;font-weight:500;margin:22px 0 6px}
label.f small{display:block;font-weight:400;color:var(--muted);font-size:13px}
.req{color:var(--red);font-size:12px;margin-left:6px}
input[type=text],input[type=email],textarea,select{width:100%;font:inherit;padding:11px 12px;border:1px solid #ccc;background:#fff;border-radius:0}
textarea{min-height:92px}
.choices{display:flex;flex-wrap:wrap;gap:8px}
.choices label{border:1px solid #ccc;padding:6px 14px;background:#fff;cursor:pointer;font-size:15px}
.choices input{margin-right:6px}
.plans{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.plan{border:1px solid var(--line);background:#fff;padding:18px 16px;cursor:pointer;display:block}
.plan input{margin-right:6px}
.plan .p{font-family:'Shippori Mincho',serif;font-size:24px;margin:6px 0 2px}
.plan ul{margin:8px 0 0;padding-left:1.1em;font-size:14px;color:#444}
.plan.on{border:2px solid var(--ink);padding:17px 15px}
.agree label{display:flex;gap:.6em;align-items:flex-start;margin:10px 0;font-size:15px}
.agree input{margin-top:.45em;width:18px;height:18px;flex:none}
.btn,button{display:inline-block;font:inherit;font-size:17px;letter-spacing:.08em;background:var(--ink);color:#fff;border:0;padding:16px 36px;cursor:pointer;text-decoration:none}
.btn[aria-disabled=true],button:disabled{opacity:.4;cursor:default}
.err{color:var(--red);font-weight:700}.ok{color:var(--ok);font-weight:700}
.bad{outline:3px solid rgba(176,64,64,.4)}
table.t{width:100%;border-collapse:collapse;font-size:14px}
table.t th,table.t td{text-align:left;vertical-align:top;padding:10px;border-bottom:1px solid var(--line)}
table.t th{width:30%;font-weight:500;background:#f5f5f5}
a{color:inherit}
.works{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 16px}
.work{margin:0}.work.featured{grid-column:1/-1}
.work video{width:100%;aspect-ratio:16/9;background:#000;display:block}
.work figcaption{font-size:14px;color:#444;margin-top:6px}
.work figcaption b{display:block;font-family:'Shippori Mincho',serif;font-weight:600;font-size:16px;color:var(--ink)}
@media(max-width:640px){.plans,.works{grid-template-columns:1fr}h1{font-size:25px}table.t th,table.t td{display:block;width:auto}table.t th{border-bottom:none;padding-bottom:2px}}
