.pricing-wrap {
  overflow-x: auto;
  border: 1px solid var(--line);
}
.fee-calculator{background:var(--ink);color:#fff;padding:28px;margin:0 0 28px;display:grid;grid-template-columns:minmax(230px,.72fr) minmax(0,1.28fr);gap:18px 30px;align-items:start}.calculator-copy{grid-row:1/4;padding-right:8px}.calculator-kicker{color:var(--gold);font-size:12px;font-weight:800;letter-spacing:.16em}.fee-calculator h2{font-size:clamp(28px,3vw,42px);margin:8px 0 12px}.fee-calculator p{color:#cce0e1;margin:0}.calculator-fields{grid-column:2;display:grid;grid-template-columns:1fr 1fr;gap:14px}.calculator-fields label{font-size:14px;font-weight:700}.calculator-fields select{width:100%;margin-top:6px;padding:12px;border:1px solid #76a0a3;border-radius:4px;background:#fff;color:var(--ink);font:inherit}.calculator-result{grid-column:2;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;background:#fff;color:var(--ink);padding:20px}.calculator-result div{min-width:0;padding-right:12px;border-right:1px solid var(--line)}.calculator-result div:last-of-type{border:0}.calculator-result small,.calculator-result b,.calculator-result strong{display:block}.calculator-result small{color:var(--muted)}.calculator-result b{font-size:18px}.calculator-result strong{color:var(--orange);font-size:28px}.calculator-result p{grid-column:1/-1;color:var(--teal);font-weight:700}.fee-calculator .calculator-note{grid-column:2;font-size:13px;color:#cce0e1}
.fee-calculator .calculator-tax-note{grid-column:2;display:flex;flex-wrap:wrap;align-items:center;gap:3px 14px;margin:0;padding:12px 15px;border-left:4px solid var(--gold);border-radius:4px;background:#fff7dc;color:var(--ink)}.calculator-tax-note strong{font-size:16px}.calculator-tax-note span{color:#48676d;font-size:14px;font-weight:700}
.combo-summary{margin:0 0 28px;padding:28px;background:var(--pale);border-top:6px solid var(--gold)}.combo-summary[hidden]{display:none}.combo-summary-head{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:20px}.combo-summary-head h3{font-size:30px;margin:6px 0 0}.combo-summary-head p{margin:0;color:var(--teal);font-weight:800}.combo-pricing-wrap{overflow-x:auto}.combo-table{width:100%;border-collapse:collapse;background:#fff}.combo-table th,.combo-table td{padding:17px;border:1px solid var(--line);text-align:center}.combo-table thead th{background:var(--ink);color:#fff}.combo-table thead small{color:#cce0e1}.combo-table tbody th{background:#eaf4f2;color:var(--ink)}.combo-table strong,.combo-table small{display:block}.combo-table strong{font-size:24px;color:var(--orange)}.combo-table td small,.combo-table tbody th small{margin-top:3px;color:var(--muted)}
.fee-table {
  min-width: 760px;
}
.fee-table th:not(:first-child),
.fee-table td:not(:first-child) {
  text-align: center;
}
.fee-table th small {
  color: #cce0e1;
  font-weight: 400;
}
.fee-table td:first-child {
  min-width: 190px;
}
.fee-table td small {
  display: block;
  color: var(--muted);
  font-weight: 400;
  font-size: 12px;
}
.fee-table td b {
  font-size: 17px;
}
.fee-table .course-name {
  background: #f3f8f6;
  color: var(--ink);
  vertical-align: top;
  min-width: 180px;
}
.fee-table tbody + tbody tr:first-child td {
  border-top: 3px solid var(--gold);
}
.pricing-notes {
  margin: 22px 0;
  padding: 18px 22px;
  background: #fff3cf;
  border-left: 5px solid var(--gold);
}
.pricing-notes p {
  margin: 5px 0;
}
.jp-pricing {
  margin-top: 56px;
  padding-top: 44px;
  border-top: 3px solid var(--ink);
}
.jp-pricing > h2 {
  margin: 0 0 24px;
  font-size: clamp(25px, 3vw, 38px);
}
.fee-extras {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px;
  margin: 24px 0;
}
.fee-extra {
  padding: 22px;
  border: 1px solid var(--line);
  background: #f3f8f6;
}
.fee-extra.highlight {
  background: var(--ink);
  color: #fff;
}
.fee-extra span {
  display: block;
  color: var(--teal);
  font-size: 12px;
  font-weight: 800;
}
.fee-extra.highlight span {
  color: var(--gold);
}
.fee-extra b {
  display: block;
  font-size: 22px;
  margin: 7px 0;
}
.fee-extra small {
  display: block;
  color: var(--muted);
}
.fee-extra.highlight small {
  color: #cce0e1;
}
@media (max-width: 700px) {
  .fee-calculator{grid-template-columns:1fr;padding:22px}.calculator-copy{grid-row:auto;padding-right:0}.calculator-fields,.calculator-result,.fee-calculator .calculator-note,.fee-calculator .calculator-tax-note{grid-column:1}.calculator-fields,.calculator-result{grid-template-columns:1fr}.calculator-result div{border-right:0;border-bottom:1px solid var(--line);padding-bottom:10px}.calculator-result p{grid-column:auto}
  .combo-summary{padding:22px}.combo-summary-head{display:block}.combo-summary-head p{margin-top:12px}.combo-table,.combo-table tbody,.combo-table tr,.combo-table th,.combo-table td{display:block;width:100%}.combo-table thead{display:none}.combo-table tr{margin-bottom:16px;border:1px solid var(--line);background:#fff}.combo-table tr:last-child{margin-bottom:0}.combo-table th,.combo-table td{border:0;border-bottom:1px solid var(--line);text-align:left}.combo-table td:last-child{border-bottom:0}.combo-table td::before{content:attr(data-label);display:block;margin-bottom:5px;color:var(--muted);font-size:13px;font-weight:800}.combo-table strong{font-size:22px}
  .pricing-wrap {
    overflow: visible;
    border: 0;
  }
  .fee-table {
    display: block;
    min-width: 0;
  }
  .fee-table thead {
    display: none;
  }
  .fee-table tbody {
    display: block;
    margin-bottom: 18px;
    border: 1px solid var(--line);
    background: #fff;
  }
  .fee-table tbody + tbody tr:first-child td {
    border-top: 0;
  }
  .fee-table tr {
    display: grid;
    grid-template-columns: minmax(0, 1.35fr) minmax(0, 0.825fr) minmax(0, 0.825fr);
  }
  .fee-table td {
    display: block;
    min-width: 0;
    padding: 12px 6px;
    text-align: center !important;
    border-right: 1px solid var(--line);
  }
  .fee-table tr > td:first-child {
    min-width: 0;
  }
  .fee-table td:last-child {
    border-right: 0;
  }
  .fee-table .course-name {
    grid-column: 1 / -1;
    min-width: 0;
    padding: 18px 16px;
    text-align: left !important;
    border-right: 0;
    border-top: 5px solid var(--gold) !important;
  }
  .fee-table tbody:first-of-type .course-name {
    border-top: 0 !important;
  }
  .fee-table td:nth-last-child(2)::before,
  .fee-table td:last-child:not(.course-name)::before {
    display: block;
    margin-bottom: 3px;
    color: var(--muted);
    font-size: 10px;
    font-weight: 800;
    line-height: 1.25;
    text-transform: uppercase;
  }
  .fee-table td:nth-last-child(2)::before { content: "Online"; }
  .fee-table td:last-child:not(.course-name)::before { content: "Tại lớp"; }
  html[lang="ja"] .fee-table td:last-child:not(.course-name)::before { content: "対面授業"; }
  .jp-fee-table td:last-child:not(.course-name)::before { content: "対面授業"; }
  .fee-table td:nth-child(2) {
    color: var(--ink);
  }
  .fee-table td:nth-last-child(-n + 2) b {
    white-space: nowrap;
    font-size: clamp(15px, 4.3vw, 17px);
  }
  .fee-extras {
    grid-template-columns: 1fr;
  }
  .jp-pricing {
    margin-top: 42px;
    padding-top: 32px;
  }
}
.card-fee{border-top:1px solid #d6e3e1;padding-top:14px;margin:12px 0 18px!important}.card-fee b,.card-fee span{display:block}.card-fee b{color:#ef6335;font-size:17px}.card-fee span{color:#587074;font-size:14px}
.language-switch{display:flex;align-items:center;margin-left:10px;border:1px solid var(--line);border-radius:99px;background:#fff;padding:3px;white-space:nowrap}.language-switch a{padding:5px 9px;border-radius:99px;font-size:12px;font-weight:800;color:var(--muted)}.language-switch a.active{background:var(--ink);color:#fff}
@media(max-width:980px){.language-switch{order:2;margin-left:auto}.menu-button{order:3;margin-left:0}.site-header{gap:10px}}
@media(max-width:700px){.site-header{padding-left:14px;padding-right:14px}.brand{gap:7px}.brand-mark{width:38px;height:38px}.brand strong{font-size:13px}.language-switch a{padding:4px 7px}}
@media (min-width:1100px) {
  .calculator-kicker{font-size:14px}
  .calculator-fields label{font-size:16px}
  .fee-calculator .calculator-note{font-size:15px}
  .fee-table td small{font-size:14px}
  .fee-table td b{font-size:18px}
  .fee-extra span{font-size:15px}
}
