/* 社会人 */
:root {
    --ocean:#0a6e7c; --ocean-light:#0d8fa1; --sand:#f5e6c8; --sand-light:#fdf6e9;
    --coral:#e05c3a; --dark:#1a2332; --text:#2c3e50; --muted:#7f8c8d;
    --border:#dde4e8; --white:#fff;
    --shadow:0 8px 40px rgba(10,110,124,0.12); --shadow-hover:0 16px 60px rgba(10,110,124,0.2);
  }
    .sbi-estimate-wrap{font-family:'Noto Sans JP',sans-serif;background:linear-gradient(135deg,#e8f4f6 0%,#f5e6c8 60%,#e8f0f4 100%);padding:40px 20px;color:var(--text);}
  .wrapper{max-width:780px;margin:0 auto;}
  .hero{text-align:center;margin-bottom:28px;padding:44px 32px;background:linear-gradient(135deg,var(--ocean) 0%,#0d5f6e 100%);border-radius:24px;color:white;position:relative;overflow:hidden;}
  .hero::before{content:'🌴';position:absolute;font-size:120px;right:-20px;bottom:-20px;opacity:.1;transform:rotate(-15deg);}
  .hero::after{content:'🌊';position:absolute;font-size:100px;left:-10px;top:-10px;opacity:.07;transform:rotate(10deg);}
  .hero-badge{display:inline-block;background:rgba(255,255,255,.2);color:white;font-size:11px;letter-spacing:3px;text-transform:uppercase;padding:6px 16px;border-radius:100px;margin-bottom:12px;font-weight:500;}
  .hero h1{font-family:'Playfair Display',serif;font-size:clamp(21px,4vw,33px);font-weight:700;margin-bottom:8px;line-height:1.3;}
  .hero p{font-size:13px;opacity:.85;font-weight:300;line-height:1.7;}
  .valid-note{background:rgba(255,255,255,.15);border-radius:8px;padding:7px 14px;margin-top:12px;font-size:11px;display:inline-block;}
  .card{background:var(--white);border-radius:20px;padding:30px;margin-bottom:18px;box-shadow:var(--shadow);border:1px solid rgba(10,110,124,.07);transition:box-shadow .3s;}
  .card:hover{box-shadow:var(--shadow-hover);}
  .card-title{font-family:'Playfair Display',serif;font-size:17px;color:var(--ocean);margin-bottom:5px;display:flex;align-items:center;gap:10px;font-weight:600;}
  .card-title .num{width:27px;height:27px;background:var(--ocean);color:white;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;flex-shrink:0;font-family:'Noto Sans JP',sans-serif;}
  .card-sub{font-size:12px;color:var(--muted);margin-bottom:16px;line-height:1.5;padding-left:37px;}
  .required{color:var(--coral);margin-left:4px;font-size:10px;}
  .two-grid{display:grid;grid-template-columns:1fr 1fr;gap:11px;}
  .radio-option{position:relative;}
  .radio-option input{position:absolute;opacity:0;width:0;height:0;}
  .radio-option label{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:14px 10px;border:2px solid var(--border);border-radius:13px;cursor:pointer;text-align:center;font-size:13px;color:var(--text);min-height:68px;background:var(--sand-light);line-height:1.4;transition:all .22s;font-weight:400;}
  .radio-option label .sub{font-size:11px;color:var(--muted);margin-top:3px;font-weight:300;}
  .radio-option input:checked+label{border-color:var(--ocean);background:linear-gradient(135deg,rgba(10,110,124,.07),rgba(13,143,161,.1));color:var(--ocean);font-weight:600;box-shadow:0 4px 14px rgba(10,110,124,.14);}
  .radio-option label:hover{border-color:var(--ocean-light);background:rgba(10,110,124,.04);}
  .weeks-wrap{display:flex;align-items:center;gap:16px;flex-wrap:wrap;}
  .weeks-display{font-family:'Playfair Display',serif;font-size:30px;color:var(--ocean);font-weight:700;min-width:60px;}
  .weeks-display span{font-size:13px;color:var(--muted);font-family:'Noto Sans JP',sans-serif;font-weight:400;}
  input[type=range]{flex:1;min-width:160px;-webkit-appearance:none;height:6px;background:linear-gradient(to right,var(--ocean) 0%,var(--ocean) var(--pct,0%),#dde4e8 var(--pct,0%),#dde4e8 100%);border-radius:6px;outline:none;}
  input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:22px;height:22px;background:var(--ocean);border-radius:50%;cursor:pointer;border:3px solid white;box-shadow:0 2px 8px rgba(10,110,124,.3);}
  .weeks-labels{display:flex;justify-content:space-between;font-size:11px;color:var(--muted);margin-top:6px;}
  .section-label{font-size:11px;font-weight:600;color:var(--ocean);margin:14px 0 8px;text-transform:uppercase;letter-spacing:1px;}
  .opts{display:flex;flex-direction:column;gap:9px;}
  .check-option{position:relative;}
  .check-option input{position:absolute;opacity:0;width:0;height:0;}
  .check-option label{display:flex;align-items:center;justify-content:space-between;padding:12px 15px;border:2px solid var(--border);border-radius:11px;cursor:pointer;font-size:13px;color:var(--text);background:var(--sand-light);transition:all .2s;}
  .check-option label .op-price{font-size:12px;color:var(--muted);font-weight:500;flex-shrink:0;margin-left:10px;}
  .check-option input:checked+label{border-color:var(--ocean);background:rgba(10,110,124,.06);color:var(--ocean);font-weight:500;}
  .check-option label::before{content:'';width:16px;height:16px;border:2px solid var(--border);border-radius:4px;margin-right:9px;flex-shrink:0;background:white;transition:all .2s;}
  .check-option input:checked+label::before{background:var(--ocean);border-color:var(--ocean);content:'✓';color:white;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:700;}
  .result-card{background:linear-gradient(135deg,var(--dark) 0%,#0a2540 100%);border-radius:24px;padding:34px;color:white;margin-bottom:18px;position:relative;overflow:hidden;box-shadow:0 20px 60px rgba(26,35,50,.28);display:none;}
  .result-card.visible{display:block;animation:slideUp .45s cubic-bezier(.16,1,.3,1);}
  @keyframes slideUp{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}
  .result-card::before{content:'✈';position:absolute;font-size:160px;right:-30px;bottom:-30px;opacity:.04;}
  .res-label{font-size:10px;letter-spacing:3px;text-transform:uppercase;opacity:.55;margin-bottom:6px;}
  .res-total{font-family:'Playfair Display',serif;font-size:clamp(36px,6vw,52px);font-weight:700;color:var(--sand);line-height:1;margin-bottom:4px;}
  .res-total .cur{font-size:.4em;vertical-align:top;margin-top:10px;opacity:.75;}
  .res-note{font-size:11px;opacity:.55;margin-bottom:20px;font-weight:300;}
  .breakdown{border-top:1px solid rgba(255,255,255,.1);padding-top:16px;}
  .bd-item{display:flex;justify-content:space-between;align-items:flex-start;font-size:13px;padding:6px 0;border-bottom:1px solid rgba(255,255,255,.05);gap:12px;}
  .bd-item:last-child{border-bottom:none;}
  .bd-item .lbl{opacity:.72;font-weight:300;flex:1;}
  .bd-item .prc{font-weight:500;color:var(--sand);flex-shrink:0;}
  .bd-total{display:flex;justify-content:space-between;margin-top:10px;padding-top:11px;border-top:1px solid rgba(255,255,255,.15);font-size:15px;font-weight:700;}
  .bd-total .prc{color:var(--sand);}
  .cta-btn{display:block;width:100%;padding:16px;margin-top:16px;background:linear-gradient(135deg,var(--coral) 0%,#c94a2a 100%);color:white;font-family:'Noto Sans JP',sans-serif;font-size:14px;font-weight:600;border:none;border-radius:13px;cursor:pointer;text-align:center;text-decoration:none;transition:all .3s;letter-spacing:.5px;box-shadow:0 8px 24px rgba(224,92,58,.4);}
  .cta-btn:hover{transform:translateY(-2px);box-shadow:0 12px 32px rgba(224,92,58,.5);}
  .empty-state{text-align:center;padding:42px 20px;color:var(--muted);}
  .empty-state .icon{font-size:42px;margin-bottom:10px;display:block;opacity:.45;}
  .empty-state p{font-size:13px;font-weight:300;line-height:1.7;}
  .info-note{text-align:center;font-size:11px;color:var(--muted);margin-top:12px;line-height:1.7;padding:11px 16px;background:rgba(255,255,255,.65);border-radius:10px;border:1px dashed var(--border);}

  /* ボタングループ */
  .btn-group{display:flex;flex-direction:column;gap:10px;margin-top:16px;}
  .cta-btn-apply{display:block;width:100%;padding:15px;background:linear-gradient(135deg,var(--coral) 0%,#c94a2a 100%);color:white;font-family:'Noto Sans JP',sans-serif;font-size:14px;font-weight:600;border:none;border-radius:13px;cursor:pointer;text-align:center;text-decoration:none;transition:all .3s;letter-spacing:.5px;box-shadow:0 8px 24px rgba(224,92,58,.4);}
  .cta-btn-apply:hover{transform:translateY(-2px);box-shadow:0 12px 32px rgba(224,92,58,.5);}
  .cta-btn-inquiry{display:block;width:100%;padding:15px;background:rgba(255,255,255,.15);color:white;font-family:'Noto Sans JP',sans-serif;font-size:14px;font-weight:600;border:2px solid rgba(255,255,255,.4);border-radius:13px;cursor:pointer;text-align:center;text-decoration:none;transition:all .3s;letter-spacing:.5px;}
  .cta-btn-inquiry:hover{background:rgba(255,255,255,.25);border-color:rgba(255,255,255,.7);}
  .cta-btn-line{display:block;width:100%;padding:15px;background:#06C755;color:white;font-family:'Noto Sans JP',sans-serif;font-size:14px;font-weight:600;border:none;border-radius:13px;cursor:pointer;text-align:center;text-decoration:none;transition:all .3s;letter-spacing:.5px;box-shadow:0 8px 24px rgba(6,199,85,.35);}
  .cta-btn-line:hover{transform:translateY(-2px);background:#05b34c;box-shadow:0 12px 32px rgba(6,199,85,.45);}

  /* お問い合わせフォーム */
  .contact-form-wrap{display:none;margin-top:20px;padding-top:20px;border-top:1px solid rgba(255,255,255,.15);}
  .contact-form-wrap.open{display:block;animation:slideUp .4s cubic-bezier(.16,1,.3,1);}
  .cf-title{font-size:14px;font-weight:600;margin-bottom:14px;opacity:.9;letter-spacing:.5px;}
  .cf-summary{background:rgba(255,255,255,.1);border-radius:10px;padding:12px 14px;margin-bottom:16px;font-size:12px;line-height:1.7;opacity:.85;}
  .cf-summary strong{display:block;font-size:10px;letter-spacing:2px;text-transform:uppercase;opacity:.6;margin-bottom:4px;}
  .cf-row{margin-bottom:12px;}
  .cf-row label{display:block;font-size:11px;font-weight:600;opacity:.75;margin-bottom:5px;letter-spacing:.5px;}
  .cf-row label .req{color:#ffb74d;font-size:10px;margin-left:3px;}
  .cf-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;}
  .cf-input{width:100% !important;padding:11px 14px !important;border:1px solid rgba(255,255,255,.25) !important;border-radius:10px !important;background:rgba(255,255,255,.12) !important;color:#fff !important;font-family:'Noto Sans JP',sans-serif !important;font-size:13px !important;outline:none !important;-webkit-text-fill-color:#fff !important;box-shadow:none !important;}
  .cf-input::placeholder{color:rgba(255,255,255,.45) !important;-webkit-text-fill-color:rgba(255,255,255,.45) !important;}
  .cf-input:focus{border-color:rgba(255,255,255,.6) !important;background:rgba(255,255,255,.18) !important;}
  .cf-input:-webkit-autofill,.cf-input:-webkit-autofill:hover,.cf-input:-webkit-autofill:focus{-webkit-text-fill-color:#fff !important;-webkit-box-shadow:0 0 0px 1000px rgba(10,40,60,.9) inset !important;}
  .cf-textarea{width:100% !important;padding:11px 14px !important;border:1px solid rgba(255,255,255,.25) !important;border-radius:10px !important;background:rgba(255,255,255,.12) !important;color:#fff !important;font-family:'Noto Sans JP',sans-serif !important;font-size:13px !important;outline:none !important;resize:vertical;min-height:90px;-webkit-text-fill-color:#fff !important;box-shadow:none !important;}
  .cf-textarea::placeholder{color:rgba(255,255,255,.45) !important;-webkit-text-fill-color:rgba(255,255,255,.45) !important;}
  .cf-textarea:focus{border-color:rgba(255,255,255,.6) !important;background:rgba(255,255,255,.18) !important;}
  .cf-agree{margin:12px 0 6px;}
  .cf-agree-label{display:flex;align-items:flex-start;gap:10px;cursor:pointer;font-size:12px;line-height:1.6;opacity:.9;}
  .cf-checkbox{width:18px;height:18px;flex-shrink:0;margin-top:2px;accent-color:#0d8fa1;cursor:pointer;}
  .cf-submit{display:block !important;width:100% !important;padding:15px !important;margin-top:8px !important;background:#fff !important;color:#0a6e7c !important;font-family:'Noto Sans JP',sans-serif !important;font-size:14px !important;font-weight:700 !important;border:none !important;border-radius:13px !important;cursor:pointer !important;text-align:center !important;transition:all .3s;box-shadow:0 6px 20px rgba(0,0,0,.2) !important;}
  .cf-submit:hover{background:#e0f4f3 !important;transform:translateY(-1px);}
  .cf-submit:disabled{opacity:.6 !important;cursor:not-allowed !important;transform:none !important;}
  .cf-error{display:none;background:rgba(255,80,80,.2);border:1px solid rgba(255,80,80,.4);border-radius:9px;padding:10px 14px;font-size:12px;margin-top:8px;color:#ffcdd2;}
  .cf-success{display:none;text-align:center;padding:20px;background:rgba(255,255,255,.1);border-radius:12px;margin-top:10px;}
  .cf-success .ico{font-size:36px;display:block;margin-bottom:8px;}
  .cf-success p{font-size:13px;opacity:.9;line-height:1.7;}

  @media(max-width:500px){.card{padding:20px 16px;}.two-grid{grid-template-columns:1fr;}.hero{padding:30px 18px;}.cf-grid{grid-template-columns:1fr;}}

/* 親子留学 */
:root{
  --teal:#00897b;--teal-d:#00695c;--teal-l:#26a69a;
  --peach:#fff8f2;--orange:#ef6c00;--amber:#ffa000;
  --dark:#1a2332;--text:#2c3e50;--muted:#7f8c8d;
  --border:#cce5e2;--white:#fff;
  --sh:0 8px 40px rgba(0,137,123,.12);--sh2:0 16px 60px rgba(0,137,123,.2);
}
.sbi-estimate-wrap{font-family:'Noto Sans JP',sans-serif;background:linear-gradient(135deg,#dff2f0 0%,#fff8f2 55%,#e6f5f4 100%);padding:36px 16px;color:var(--text);}
.wrapper{max-width:820px;margin:0 auto;}

.hero{text-align:center;padding:42px 30px;background:linear-gradient(135deg,var(--teal-d),var(--teal));border-radius:24px;color:#fff;position:relative;overflow:hidden;margin-bottom:24px;}
.hero::before{content:'🌺';position:absolute;font-size:110px;right:-15px;bottom:-15px;opacity:.1;transform:rotate(15deg);}
.hero::after{content:'👨‍👩‍👧';position:absolute;font-size:85px;left:-8px;top:-5px;opacity:.08;}
.badge{display:inline-block;background:rgba(255,255,255,.2);font-size:11px;letter-spacing:3px;text-transform:uppercase;padding:5px 15px;border-radius:100px;margin-bottom:12px;}
.hero h1{font-family:'Playfair Display',serif;font-size:clamp(20px,4vw,32px);font-weight:700;margin-bottom:8px;line-height:1.3;}
.hero p{font-size:13px;opacity:.85;font-weight:300;line-height:1.7;}
.chips{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;margin-top:13px;}
.chip{background:rgba(255,255,255,.18);border:1px solid rgba(255,255,255,.28);border-radius:8px;padding:5px 12px;font-size:11px;}
.chip.warn{background:rgba(255,160,0,.25);border-color:rgba(255,160,0,.45);font-weight:600;}

/* Tabs */
.plan-tabs{display:flex;border-radius:16px 16px 0 0;overflow:hidden;box-shadow:var(--sh);}
.tab-btn{flex:1;padding:13px 6px;border:none;background:#dff2f0;color:var(--muted);font-family:'Noto Sans JP',sans-serif;font-size:12px;font-weight:600;cursor:pointer;transition:all .2s;border-right:1px solid var(--border);text-align:center;line-height:1.4;}
.tab-btn:last-child{border-right:none;}
.tab-btn.active{background:var(--white);color:var(--teal);position:relative;}
.tab-btn.active::after{content:'';position:absolute;bottom:0;left:0;right:0;height:3px;background:var(--teal);}
.tab-btn .tsub{display:block;font-size:10px;font-weight:400;opacity:.7;margin-top:2px;}

.tab-pane{display:none;}
.tab-pane.active{display:block;}

/* Cards */
.card{background:var(--white);padding:26px;margin-bottom:16px;box-shadow:var(--sh);border:1px solid rgba(0,137,123,.07);}
.card.first{border-radius:0 0 0 0;}
.card.solo{border-radius:20px;}
.card.last{border-radius:0 0 20px 20px;margin-bottom:16px;}

.sec{margin-bottom:20px;}
.sec:last-child{margin-bottom:0;}
.sec-title{font-family:'Playfair Display',serif;font-size:16px;color:var(--teal);margin-bottom:4px;display:flex;align-items:center;gap:8px;font-weight:600;}
.num{width:25px;height:25px;background:var(--teal);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:11px;flex-shrink:0;}
.sec-sub{font-size:12px;color:var(--muted);margin-bottom:13px;padding-left:33px;line-height:1.5;}
.req{color:var(--orange);margin-left:3px;font-size:10px;}

/* Radio grid */
.g2{display:grid;grid-template-columns:1fr 1fr;gap:10px;}
.g3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px;}
.ro{position:relative;}
.ro input{position:absolute;opacity:0;width:0;height:0;}
.ro label{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:12px 8px;border:2px solid var(--border);border-radius:13px;cursor:pointer;text-align:center;font-size:13px;color:var(--text);min-height:62px;background:var(--peach);line-height:1.4;transition:all .22s;font-weight:400;}
.ro label .sub{font-size:11px;color:var(--muted);margin-top:3px;font-weight:300;}
.ro label .star{font-size:11px;color:var(--amber);margin-top:2px;}
.ro label .pk{font-size:10px;background:var(--teal);color:#fff;padding:2px 7px;border-radius:100px;margin-top:3px;}
.ro input:checked+label{border-color:var(--teal);background:linear-gradient(135deg,rgba(0,137,123,.07),rgba(38,166,154,.1));color:var(--teal);font-weight:600;box-shadow:0 4px 14px rgba(0,137,123,.13);}
.ro label:hover{border-color:var(--teal-l);background:rgba(0,137,123,.04);}

/* Counter */
.ctr{display:flex;align-items:center;gap:12px;}
.ctr-lbl{font-size:14px;font-weight:500;}
.ctr-ctrl{display:flex;align-items:center;gap:10px;}
.cb{width:30px;height:30px;border:2px solid var(--teal);border-radius:50%;background:#fff;color:var(--teal);font-size:16px;cursor:pointer;display:flex;align-items:center;justify-content:center;font-weight:700;transition:all .2s;flex-shrink:0;line-height:1;}
.cb:hover{background:var(--teal);color:#fff;}
.cb:disabled{border-color:var(--border);color:var(--muted);cursor:not-allowed;}
.cb:disabled:hover{background:#fff;color:var(--muted);}
.cv{font-size:20px;font-weight:700;color:var(--teal);min-width:24px;text-align:center;}
.ctr-unit{font-size:12px;color:var(--muted);}

.warn-box{background:#fff3cd;border:1px solid #ffc107;border-radius:9px;padding:9px 13px;font-size:12px;color:#856404;margin-top:9px;display:none;}
.warn-box a{color:#856404;font-weight:600;}

/* Result */
.result-card{background:linear-gradient(135deg,#00352e,#005047);border-radius:20px;padding:28px;color:#fff;margin-bottom:16px;position:relative;overflow:hidden;box-shadow:0 16px 50px rgba(0,53,46,.28);display:none;}
.result-card.on{display:block;animation:up .4s cubic-bezier(.16,1,.3,1);}
@keyframes up{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}
.result-card::before{content:'🌺';position:absolute;font-size:130px;right:-15px;bottom:-15px;opacity:.05;}
.rl{font-size:10px;letter-spacing:3px;text-transform:uppercase;opacity:.55;margin-bottom:5px;}
.rt{font-family:'Playfair Display',serif;font-size:clamp(32px,6vw,48px);font-weight:700;color:#b2dfdb;line-height:1;margin-bottom:3px;}
.rt .cur{font-size:.4em;vertical-align:top;margin-top:9px;opacity:.75;}
.rn{font-size:11px;opacity:.55;margin-bottom:16px;font-weight:300;}
.bk{border-top:1px solid rgba(255,255,255,.1);padding-top:14px;}
.bi{display:flex;justify-content:space-between;align-items:flex-start;font-size:13px;padding:5px 0;border-bottom:1px solid rgba(255,255,255,.05);gap:10px;}
.bi:last-child{border-bottom:none;}
.bi .ll{opacity:.7;font-weight:300;flex:1;}
.bi .pp{font-weight:500;color:#b2dfdb;flex-shrink:0;}
.btot{display:flex;justify-content:space-between;margin-top:9px;padding-top:10px;border-top:1px solid rgba(255,255,255,.15);font-size:15px;font-weight:700;}
.btot .pp{color:#b2dfdb;}
.en-note{background:rgba(255,255,255,.1);border-radius:8px;padding:8px 12px;margin-top:10px;font-size:11px;opacity:.75;}
.incl{margin-top:13px;padding-top:12px;border-top:1px solid rgba(255,255,255,.08);}
.incl-t{font-size:10px;opacity:.5;letter-spacing:2px;text-transform:uppercase;margin-bottom:7px;}
.ii{font-size:12px;opacity:.68;padding:3px 0;display:flex;gap:7px;}
.cta{display:block;width:100%;padding:15px;margin-top:14px;background:linear-gradient(135deg,var(--orange),#bf360c);color:#fff;font-family:'Noto Sans JP',sans-serif;font-size:14px;font-weight:600;border:none;border-radius:13px;cursor:pointer;text-align:center;text-decoration:none;transition:all .3s;letter-spacing:.5px;box-shadow:0 8px 22px rgba(239,108,0,.38);}
.cta:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(239,108,0,.46);}

.empty-card{background:var(--white);border-radius:20px;padding:26px;margin-bottom:16px;box-shadow:var(--sh);border:1px solid rgba(0,137,123,.07);}
.empty{text-align:center;padding:36px 16px;color:var(--muted);}
.empty .ico{font-size:40px;margin-bottom:9px;display:block;opacity:.4;}
.empty p{font-size:13px;font-weight:300;line-height:1.7;}

.info-note{text-align:center;font-size:11px;color:var(--muted);margin-top:10px;line-height:1.7;padding:10px 14px;background:rgba(255,255,255,.65);border-radius:10px;border:1px dashed var(--border);}

/* Contact form embedded */
.cta-open{display:block;width:100%;padding:15px;margin-top:14px;background:linear-gradient(135deg,var(--orange),#bf360c);color:#fff;font-family:'Noto Sans JP',sans-serif;font-size:14px;font-weight:600;border:none;border-radius:13px;cursor:pointer;text-align:center;transition:all .3s;letter-spacing:.5px;box-shadow:0 8px 22px rgba(239,108,0,.38);}
.cta-open:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(239,108,0,.46);}
.contact-form-wrap{display:none;margin-top:20px;padding-top:20px;border-top:1px solid rgba(255,255,255,.15);}
.contact-form-wrap.open{display:block;animation:up .4s cubic-bezier(.16,1,.3,1);}
.cf-title{font-size:14px;font-weight:600;margin-bottom:14px;opacity:.9;letter-spacing:.5px;}
.cf-summary{background:rgba(255,255,255,.1);border-radius:10px;padding:12px 14px;margin-bottom:16px;font-size:12px;line-height:1.7;opacity:.85;}
.cf-summary strong{display:block;font-size:10px;letter-spacing:2px;text-transform:uppercase;opacity:.6;margin-bottom:4px;}
.cf-row{margin-bottom:12px;}
.cf-row label{display:block;font-size:11px;font-weight:600;opacity:.75;margin-bottom:5px;letter-spacing:.5px;}
.cf-row label .req{color:#ffb74d;font-size:10px;margin-left:3px;}
.cf-input{width:100% !important;padding:11px 14px !important;border:1px solid rgba(255,255,255,.25) !important;border-radius:10px !important;background:rgba(255,255,255,.12) !important;color:#ffffff !important;font-family:'Noto Sans JP',sans-serif !important;font-size:13px !important;outline:none !important;transition:border .2s;-webkit-text-fill-color:#ffffff !important;box-shadow:none !important;}
.cf-input::placeholder{color:rgba(255,255,255,.45) !important;-webkit-text-fill-color:rgba(255,255,255,.45) !important;}
.cf-input:focus{border-color:rgba(255,255,255,.6) !important;background:rgba(255,255,255,.18) !important;}
.cf-input:-webkit-autofill,.cf-input:-webkit-autofill:hover,.cf-input:-webkit-autofill:focus{-webkit-text-fill-color:#fff !important;-webkit-box-shadow:0 0 0px 1000px rgba(0,80,70,.9) inset !important;}
.cf-select{width:100% !important;padding:11px 14px !important;border:1px solid rgba(255,255,255,.25) !important;border-radius:10px !important;background:rgba(0,60,50,.85) !important;color:#fff !important;font-family:'Noto Sans JP',sans-serif !important;font-size:13px !important;outline:none !important;cursor:pointer;-webkit-appearance:none;appearance:none;}
.cf-select option{background:#1a4a3a;color:#fff;}
.cf-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;}
.cf-textarea{width:100% !important;padding:11px 14px !important;border:1px solid rgba(255,255,255,.25) !important;border-radius:10px !important;background:rgba(255,255,255,.12) !important;color:#ffffff !important;font-family:'Noto Sans JP',sans-serif !important;font-size:13px !important;outline:none !important;resize:vertical;min-height:90px;transition:border .2s;-webkit-text-fill-color:#ffffff !important;box-shadow:none !important;}
.cf-textarea::placeholder{color:rgba(255,255,255,.45) !important;-webkit-text-fill-color:rgba(255,255,255,.45) !important;}
.cf-textarea:focus{border-color:rgba(255,255,255,.6) !important;background:rgba(255,255,255,.18) !important;}
.cf-submit{display:block !important;width:100% !important;padding:16px !important;margin-top:6px !important;background:#ffffff !important;color:#00695c !important;font-family:'Noto Sans JP',sans-serif !important;font-size:14px !important;font-weight:700 !important;border:none !important;border-radius:13px !important;cursor:pointer !important;text-align:center !important;transition:all .3s;letter-spacing:.5px;box-shadow:0 6px 20px rgba(0,0,0,.2) !important;}
.cf-submit:hover{background:#e0f4f3 !important;transform:translateY(-1px);}
.cf-submit:disabled{opacity:.6 !important;cursor:not-allowed !important;transform:none !important;}
.cf-agree{margin:12px 0 6px;}
.cf-agree-label{display:flex;align-items:flex-start;gap:10px;cursor:pointer;font-size:12px;line-height:1.6;opacity:.9;}
.cf-checkbox{width:18px;height:18px;flex-shrink:0;margin-top:2px;accent-color:var(--teal-l);cursor:pointer;}
.cf-success{display:none;text-align:center;padding:20px;background:rgba(255,255,255,.1);border-radius:12px;margin-top:10px;}
.cf-success .ico{font-size:36px;display:block;margin-bottom:8px;}
.cf-success p{font-size:13px;opacity:.9;line-height:1.7;}
.cf-error{display:none;background:rgba(255,80,80,.2);border:1px solid rgba(255,80,80,.4);border-radius:9px;padding:10px 14px;font-size:12px;margin-top:8px;color:#ffcdd2;}

@media(max-width:520px){
  .card{padding:18px 14px;}
  .hero{padding:28px 16px;}
  .g3{grid-template-columns:1fr 1fr;}
  .plan-tabs{flex-direction:column;border-radius:12px;}
  .tab-btn{border-right:none;border-bottom:1px solid var(--border);}
  .tab-btn:last-child{border-bottom:none;}
}
@media(max-width:360px){.g2,.g3{grid-template-columns:1fr;}}