:root{--sage: #9ea88f;--sage-deep: #6f7b65;--paper: #fbf8f0;--cream: #f3ecdf;--ink: #3a3329;--ink-80: #4d453a;--ink-60: #5b5347;--hairline: rgba(58, 51, 41, .14)}.co-main{max-width:1200px;margin:0 auto;padding:140px clamp(24px,5vw,80px) 80px;background:var(--paper)}.co-head{margin-bottom:36px}.co-title{font-family:Cormorant SC,serif;font-weight:400;font-size:clamp(26px,3vw,38px);letter-spacing:.12em;color:var(--ink);text-transform:uppercase}.co-title span{display:block;font-family:"Noto Serif JP",serif;font-size:13px;letter-spacing:.1em;color:var(--ink-60);margin-top:8px}.co-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:clamp(32px,5vw,72px);align-items:start}@media(max-width:860px){.co-grid{grid-template-columns:1fr}}.co-h2{font-family:Cormorant SC,serif;font-size:16px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink);margin-bottom:20px;display:flex;align-items:center;gap:12px}.co-num{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border:1px solid var(--ink);border-radius:50%;font-size:12px}.co-form{display:grid;grid-template-columns:1fr 1fr;gap:16px}.co-col2{grid-column:1 / -1}.co-field label{display:flex;flex-direction:column;gap:6px;font-family:"Noto Serif JP",serif;font-size:12px;color:var(--ink-60)}.co-lab{display:inline-flex;align-items:center;gap:8px}.co-req,.co-opt{font-style:normal;font-size:10px;line-height:1;padding:3px 6px;letter-spacing:.04em}.co-req{color:#9a4a44;background:#9a4a441a}.co-opt{color:var(--ink-60);background:#3a332912}.co-field input{padding:12px 14px;border:1px solid var(--hairline);background:#fff;font-family:"Noto Serif JP",serif;font-size:14px;color:var(--ink);border-radius:0}.co-field input:focus{outline:none;border-color:var(--sage-deep)}.co-ship{grid-column:1 / -1;display:flex;justify-content:space-between;align-items:center;padding:16px;background:var(--cream);margin-top:4px}.co-ship-label{font-family:"Noto Serif JP",serif;font-size:12px;color:var(--ink-60)}.co-ship-val{font-family:"Noto Serif JP",serif;font-size:14px;color:var(--ink)}.co-next,.co-pay{grid-column:1 / -1;width:100%;height:54px;margin-top:8px;background:var(--sage);color:#fff;border:0;font-family:Cormorant SC,serif;font-size:13px;letter-spacing:.2em;text-transform:uppercase;cursor:pointer;transition:background .25s ease}.co-next:hover,.co-pay:hover{background:var(--sage-deep)}.co-next:disabled,.co-pay:disabled{opacity:.5;cursor:default}.co-payment{min-height:60px;margin-bottom:16px}.co-pk-missing{font-family:"Noto Serif JP",serif;font-size:13px;line-height:1.9;color:var(--ink-60);background:var(--cream);padding:20px}.co-legal{font-family:"Noto Serif JP",serif;font-size:11px;line-height:1.9;color:var(--ink-60);margin:4px 0 14px;white-space:nowrap}.co-legal a{color:var(--sage-deep);text-decoration:underline}.co-back{display:block;width:100%;margin-top:12px;background:none;border:0;cursor:pointer;font-family:Cormorant SC,serif;font-size:11px;letter-spacing:.16em;color:var(--ink-60)}.co-error{grid-column:1 / -1;color:#9a4a44;font-family:"Noto Serif JP",serif;font-size:13px}.co-summary{background:var(--cream);padding:28px;position:sticky;top:140px}.co-summary .co-h2{margin-bottom:18px}.co-loading{font-family:"Noto Serif JP",serif;font-size:13px;color:var(--ink-60)}.co-line{display:grid;grid-template-columns:56px 1fr auto;gap:14px;align-items:center;padding:12px 0;border-bottom:1px solid var(--hairline)}.co-thumb{width:56px;height:70px;background:var(--paper);overflow:hidden}.co-thumb img{width:100%;height:100%;object-fit:cover}.co-name{font-family:"Noto Serif JP",serif;font-size:13px;color:var(--ink);margin:0 0 4px}.co-meta{font-family:"Noto Serif JP",serif;font-size:11px;color:var(--ink-60);margin:0}.co-lp{font-family:"Noto Serif JP",serif;font-size:13px;color:var(--ink);white-space:nowrap}.co-totals{margin-top:18px}.co-row{display:flex;justify-content:space-between;font-family:"Noto Serif JP",serif;font-size:13px;color:var(--ink-80);margin-bottom:10px}.co-total{font-size:17px;color:var(--ink);border-top:1px solid var(--hairline);padding-top:14px}.co-cont{display:inline-block;margin-top:20px;font-family:Cormorant SC,serif;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--sage-deep);text-decoration:none}
