/* clinic waribiki plans - frontend (house style: teal + coral + red-gradient CTA) */
.gwp{
  --teal:#0A9298;--teal-d:#077a80;--teal-l:#E6F5F5;--teal-ring:#2AADAD;--teal-border:#b8e8eb;
  --coral:#E07B5A;--coral-d:#C4613F;
  --text:#1C1917;--text2:#57534E;--text3:#A8A29E;
  --border:#e0e0e0;--border-l:#f0f0f0;--surface:#FAFAF8;
  --r:14px;--r-sm:12px;--r-xs:10px;
  max-width:720px;margin:24px auto;background:#fff;border-radius:var(--r);padding:18px 16px;
  font-family:'Zen Kaku Gothic New','Noto Sans JP',sans-serif;color:var(--text);line-height:1.8;
  -webkit-font-smoothing:antialiased;box-shadow:0 1px 3px rgba(0,0,0,.04),0 8px 32px rgba(0,0,0,.06);box-sizing:border-box;
}
.gwp *{box-sizing:border-box;}
.gwp-sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);border:0;}

/* タイトル（ティール下線＋サブ） */
.gwp-title-wrap{text-align:center;margin-bottom:2px;}
.gwp-title{display:inline-block;font-size:15px;font-weight:700;line-height:1.4;padding:6px 22px 9px;border-bottom:2.5px solid var(--teal);}
.gwp-hint{text-align:center;font-size:12px;font-weight:600;color:var(--text3);margin:0 0 16px;letter-spacing:.3px;line-height:1.6;}

/* モード切替 */
.gwp-mode{display:flex;gap:6px;margin:18px 0 12px;}
.gwp-mode button{flex:1;padding:10px 8px;font-size:13px;font-weight:500;cursor:pointer;border:1px solid var(--border);background:#fff;color:var(--text3);border-radius:var(--r-sm);font-family:inherit;transition:all .15s;}
.gwp-mode button.is-active{background:var(--teal);border-color:var(--teal);color:#fff;font-weight:700;}

/* クリニック選択 */
.gwp-picker{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:16px;}
.gwp-pick{position:relative;display:flex;flex-direction:column;align-items:center;gap:8px;padding:14px 12px;border-radius:var(--r-sm);cursor:pointer;text-align:center;width:100%;background:#fff;border:1px solid var(--border);box-shadow:0 1px 3px rgba(0,0,0,.05);font-family:inherit;transition:box-shadow .15s,border-color .15s;}
.gwp-pick.is-active{border-color:transparent;box-shadow:0 1px 5px rgba(0,0,0,.08),0 0 0 2px var(--teal-ring);}
.gwp-logo{width:46px;height:46px;border-radius:10px;background:var(--teal-l);display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;color:var(--teal-d);flex-shrink:0;overflow:hidden;}
.gwp-logo img{width:100%;height:100%;object-fit:contain;}
.gwp-pick .gwp-name{font-size:13px;font-weight:700;color:var(--text);}
.gwp-check{position:absolute;top:8px;right:8px;width:18px;height:18px;border-radius:50%;background:var(--teal);color:#fff;font-size:11px;display:flex;align-items:center;justify-content:center;line-height:1;}

/* 本体カード */
.gwp-card{background:#fff;border:1px solid var(--border);border-radius:var(--r);box-shadow:0 1px 5px rgba(0,0,0,.08);padding:16px 18px;}
.gwp-head{display:flex;align-items:center;gap:10px;margin-bottom:4px;}
.gwp-head .gwp-logo{width:40px;height:40px;}
.gwp-head .gwp-name{font-size:16px;font-weight:700;}
.gwp-badge{margin-left:auto;font-size:11px;font-weight:700;color:var(--coral-d);background:transparent;border:1px solid rgba(224,123,90,.3);padding:3px 11px;border-radius:12px;white-space:nowrap;}

.gwp-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 0;border-top:1px solid var(--border-l);}
.gwp-row .p-name{font-size:14px;font-weight:700;}
.gwp-row .p-note{font-size:11px;color:var(--text3);font-weight:400;}
.gwp-row .p-normal{font-size:12px;color:var(--text3);text-decoration:line-through;margin-top:1px;}
.gwp-row .p-right{text-align:right;flex-shrink:0;}
.gwp-row .p-label{font-size:10px;font-weight:600;color:var(--text3);letter-spacing:.5px;}
.gwp-row .p-price{font-size:19px;font-weight:800;color:var(--coral);line-height:1.2;letter-spacing:-.5px;}

/* 適用条件・対象プラン */
.gwp-terms{margin-top:16px;padding-top:14px;border-top:1px solid var(--border-l);}
.gwp-terms-title{font-size:11px;font-weight:700;letter-spacing:1px;color:var(--teal);margin-bottom:8px;display:flex;align-items:center;gap:10px;}
.gwp-terms-title::after{content:"";flex:1;height:1px;background:var(--border-l);}
.gwp-term{display:flex;gap:8px;padding:3px 0;font-size:12px;line-height:1.5;}
.gwp-term .k{flex-shrink:0;width:64px;color:var(--text3);font-weight:600;}
.gwp-term .v{color:var(--text2);min-width:0;}
.gwp-scope{margin-top:12px;display:flex;flex-direction:column;gap:7px;}
.gwp-scope .line{font-size:12px;line-height:1.6;}
.gwp-scope .line.ng{color:var(--text2);}
.gwp-tag{display:inline-block;font-size:10px;font-weight:700;padding:1px 9px;border-radius:12px;margin-right:7px;background:transparent;}
.gwp-tag.ok{color:var(--teal);border:1px solid var(--teal-border);}
.gwp-tag.ng{color:var(--text3);border:1px solid var(--border);}

/* CTA（赤グラデ） */
.gwp-cta-wrap{margin-top:16px;text-align:center;}
.gwp-cta{display:inline-flex;align-items:center;justify-content:center;gap:5px;width:100%;padding:13px 20px;border-radius:var(--r-sm);background:linear-gradient(135deg,#e63535,#c0392b)!important;color:#fff!important;font-size:14px;font-weight:700;text-decoration:none!important;box-shadow:0 2px 12px rgba(230,53,53,.3);transition:all .2s;box-sizing:border-box;cursor:pointer;}
.gwp-cta:visited,.gwp-cta:active,.gwp-cta:link{color:#fff!important;}
.gwp-cta:hover{background:linear-gradient(135deg,#c0392b,#a93226)!important;color:#fff!important;transform:translateY(-1px);box-shadow:0 4px 20px rgba(230,53,53,.4);}
span.gwp-cta{cursor:pointer;}

/* 比較（部位タブ＋表形式） */
.gwp-ptabs{display:flex;gap:6px;margin-bottom:14px;}
.gwp-ptab{flex:1;padding:10px 6px;font-size:13px;font-weight:500;cursor:pointer;border:1px solid var(--border);background:#fff;color:var(--text3);border-radius:var(--r-sm);font-family:inherit;transition:all .15s;}
.gwp-ptab.is-active{background:var(--teal);border-color:var(--teal);color:#fff;font-weight:700;}
.gwp-ctable-wrap{border:1px solid var(--border);border-radius:var(--r);overflow:hidden;box-shadow:0 1px 5px rgba(0,0,0,.08);}
.gwp-ctable{width:100%;border-collapse:collapse;table-layout:fixed;}
.gwp-ctable .gwp-th{width:50%;padding:14px 10px;text-align:center;vertical-align:middle;border-right:1px solid var(--border-l);background:#fff;}
.gwp-ctable tr .gwp-th:last-child{border-right:none;}
.gwp-th .gwp-logo{margin:0 auto 6px;width:38px;height:38px;}
.gwp-th-name{display:block;font-size:13px;font-weight:700;line-height:1.3;}
.gwp-band{background:var(--teal);color:#fff;font-size:12px;font-weight:700;text-align:center;padding:7px 8px;letter-spacing:.5px;}
.gwp-dband{background:var(--teal);color:#fff;font-size:11px;font-weight:700;text-align:center;padding:5px 8px;letter-spacing:.5px;}
.gwp-ctable .gwp-td{width:50%;padding:9px 10px;text-align:center;vertical-align:middle;border-right:1px solid var(--border-l);border-top:1px solid var(--border-l);}
.gwp-ctable tr .gwp-td:last-child{border-right:none;}
.gwp-td-plan{font-size:13px;font-weight:700;line-height:1.35;}
.gwp-td-normal{font-size:12px;color:var(--text3);text-decoration:line-through;margin-top:2px;}
.gwp-td-price{font-size:17px;font-weight:800;color:var(--coral);letter-spacing:-.3px;}
.gwp-dash{font-size:12px;color:var(--text3);}
.gwp-off{display:inline-block;font-size:11px;color:var(--text3);border:1px solid var(--border);border-radius:10px;padding:2px 10px;line-height:1.5;}
.gwp-td-cta{padding:14px 10px;}
.gwp-empty{background:#fff;border:1px dashed var(--border);border-radius:var(--r);padding:26px 16px;text-align:center;font-size:13px;color:var(--text3);}
.gwp-note{margin-top:12px;font-size:11px;color:var(--text3);line-height:1.7;}

.gwp-foot{margin-top:16px;padding-top:12px;border-top:1px solid var(--border-l);font-size:11px;color:var(--text3);line-height:1.7;}

@media(max-width:480px){
  .gwp{padding:16px 12px;}
  .gwp-picker{gap:8px;}
  .gwp-ptabs{gap:4px;}
  .gwp-td-price{font-size:15px;}
  .gwp-row .p-price{font-size:17px;}
  .gwp-pick .gwp-name{font-size:11px;}
  .gwp-head .gwp-name{font-size:12px;}
  .gwp-th-name{font-size:10px;}
}

/* 割引選択タブ（一覧モード・複数割引がある院のみ） */
.gwp-dtabs{display:flex;flex-wrap:wrap;gap:6px;margin:12px 0 4px;}
.gwp-dtab{padding:7px 14px;font-size:12px;font-weight:600;cursor:pointer;border:1px solid var(--border);background:#fff;color:var(--text3);border-radius:20px;font-family:inherit;transition:all .15s;}
.gwp-dtab.is-active{background:var(--teal-l);border-color:var(--teal);color:var(--teal-d);font-weight:700;}

/* 比較カード内の割引タブ */
