:root{ --gp-primary:#18F0D1; --gp-border:#e6edf2 }
.gp-wrap{font-family:system-ui,-apple-system,'Segoe UI',Roboto,'Noto Sans JP',sans-serif; color:#15232d}
.gp-head{width:min(1120px,92%); margin:0 auto 12px}
.gp-grid{width:min(1120px,92%); margin:0 auto; display:grid; grid-template-columns:repeat(3,1fr); gap:12px}
@media (max-width:960px){.gp-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:600px){.gp-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:380px){.gp-grid{grid-template-columns:1fr}}
.gp-card{border:1px solid var(--gp-border); border-radius:14px; background:#fff; box-shadow:0 10px 24px rgba(0,0,0,.05); padding:14px}
.gp-card h3{margin:.2rem 0 .4rem}
.gp-inc{color:#466; font-size:.9rem}
.gp-price{font-weight:900; font-size:1.6rem; margin-top:6px}

.gp-form{width:min(1120px,92%); margin:14px auto; border:1px solid var(--gp-border); border-radius:18px; background:#fff; padding:18px}
.gp-form h3{margin:.2rem 0 .6rem}
.gp-flex{display:grid; grid-template-columns:1fr 1fr; gap:12px}
@media (max-width:960px){.gp-flex{grid-template-columns:1fr}}
.gp-list{display:grid; gap:8px}
.gp-item{display:flex; align-items:center; gap:10px; padding:10px; border:1px solid var(--gp-border); border-radius:12px}
.gp-item:hover{box-shadow:0 6px 16px rgba(0,0,0,.06)}
.gp-item label{flex:1; display:flex; justify-content:space-between; gap:10px; font-weight:600}
.gp-input{display:block; width:100%; padding:12px; border:2px solid var(--gp-border); border-radius:12px; font-size:1rem; transition:border-color .2s, box-shadow .2s; background:#fff}
.gp-input:focus{border-color:var(--gp-primary); box-shadow:0 0 0 3px rgba(24,240,209,.25); outline:none}
.gp-form label{display:block; font-weight:700; color:#2a3a44; margin-bottom:6px}
.gp-form label input, .gp-form label textarea{margin-top:6px}
.gp-form ::placeholder{color:#8aa;}
.gp-summary{border-top:1px dashed var(--gp-border); padding-top:8px; margin-top:10px}
.gp-total{display:flex; justify-content:space-between; align-items:center; padding:12px; border:2px solid var(--gp-primary); border-radius:14px; background:#f6fffd; font-weight:800}
.gp-btn{display:inline-flex; align-items:center; justify-content:center; padding:12px 18px; border-radius:12px; text-decoration:none; font-weight:800; border:2px solid var(--gp-border); background:#fff; transition:.2s}
.gp-btn:hover{transform:translateY(-1px)}
.gp-btn.-primary{background:var(--gp-primary); color:#053; border-color:transparent}
.gp-note{color:#456; font-size:.9rem}
.gp-success{width:min(1120px,92%); margin:14px auto; padding:14px; border:1px solid var(--gp-border); background:#f7fffb; border-radius:14px}

.gp-actions{display:flex; gap:8px; flex-wrap:wrap}
