/* トップページの新しいデザイン(2026-10-10)。切り替え cb_design_home が「新しいデザイン」のときだけ読み込む(inc/home-page.php)。
   すべて .hs(body のクラス)の下に限る。デザインの正は運用リポジトリの mockups/home-structure-modern-20261010/home.css。
   確認用の案だけの指定(全要素の常時表示・スクロールの動き)は外し、現行のアニメーションとスクロールを残している。 */
.hs {
  --cb-font-body: "CB LP Zen Maru", "Hiragino Maru Gothic ProN", sans-serif;
  --cb-font-script: "CB LP Caveat", cursive;
  --cb-font-mono: "CB LP Zen Maru", sans-serif;
  --cb-blue: #2f6ac9;
  --cb-deep: #224f9d;
  --cb-navy: #1d4488;
  --cb-sky: #e0f0fb;
  --cb-soft: #edf4ff;
  --cb-sub: #50617a;
  --cb-sub2: #50617a;
  --cb-muted: #687a91;
  --cb-faint: #637da3;
  --cb-shadow-card: none;
  --cb-line: #06c755;
  color: #34445b;
  font-family: var(--cb-font-body);
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}
.hs *, .hs *::before, .hs *::after { box-sizing: border-box; }
/* 案では .hs img { max-width:100% } だったが、共通の img { max-width:100% }(style.css)と同じ内容で、部品が持つ max-width:none
   (丸い枠で横長のロゴの左端だけを見せる .cb-ai-pill__avatar img・.cb-q3__chat-avatar img)まで上書きしてアイコンが潰れていた。
   :where() で強さを 0 にして、部品の指定が勝つようにする(2026-10-11) */
.hs :where(img) { max-width: 100%; }
.hs button, .hs input, .hs select { font: inherit; }
.hs a, .hs button { -webkit-tap-highlight-color: transparent; }
.hs :focus-visible { outline: 3px solid #2f6ac9; outline-offset: 5px; }
.hs .cb-inner { max-width: 1240px; padding-inline: 40px; }
.hs .cb-sec { padding: 110px 0 104px !important; }
.hs [id] { scroll-margin-top: 128px !important; }
.hs .cb-deco, .hs .cb-cv__deco, .hs .cb-fusen__tape { display: none !important; }
.hs .cb-script { font-family: var(--cb-font-script); letter-spacing: .01em; line-height: 1.2; }
.hs .cb-inner > [data-reveal] > .cb-script,
.hs .cb-sec-head--center > .cb-script { font-size: clamp(34px, 3.3vw, 46px) !important; margin: 0 0 18px; }
.hs .cb-h2, .hs .cb-facts__h2, .hs .cb-q3__h2 {
  font-size: clamp(29px, 3.2vw, 43px) !important; letter-spacing: .035em;
  line-height: 1.65 !important; font-weight: 700; text-wrap: pretty;
}
.hs .cb-lead { font-size: 16px !important; line-height: 2 !important; }
.hs .cb-inner > [data-reveal][style*="max-width"] { max-width: 820px !important; margin-top: 0 !important; }
.hs .cb-answer { font-size: 19px; margin-top: 21px; line-height: 1.8; }
.hs .hs-answer-tail { display: inline-block; }
.hs .cb-answer__badge { background: transparent; font-family: var(--cb-font-script); font-size: 29px; width: 30px; height: auto; color: var(--cb-blue); }
.hs .cb-marker { background: linear-gradient(transparent 72%, var(--cb-yellow) 72%); }
.hs .cb-sec--bluegrad { background: var(--cb-blue); }
.hs .cb-wave { height: 28px; background-size: 480px 28px; }
.hs .cb-wave--navy { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='30' viewBox='0 0 140 30' preserveAspectRatio='none'%3E%3Cpath d='M0 12 Q 35 26 70 12 T 140 12 L 140 0 L 0 0 Z' fill='%23224f9d'/%3E%3C/svg%3E"); }
.hs .cb-wave--bluegrad { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='30' viewBox='0 0 140 30' preserveAspectRatio='none'%3E%3Cpath d='M0 12 Q 35 26 70 12 T 140 12 L 140 0 L 0 0 Z' fill='%232f6ac9'/%3E%3C/svg%3E"); }
.hs .cb-btn, .hs .cb-day__cta, .hs .cb-reason__cta, .hs .cb-counselor__cta,
.hs .cb-cv__btn, .hs .cb-school__cta, .hs .cb-hero__cv-btn, .hs .cb-final__btn {
  box-shadow: none; border-radius: 12px; padding: 19px 28px; font-size: 15px; line-height: 1.6;
}
.hs .cb-btn__sub { margin-top: 5px; font-size: 12px; }
.hs .cb-day__cta, .hs .cb-reason__cta { margin-top: 12px; }
.hs .cbn-header .cbn-header-line { background: var(--cb-line); }
.hs .cbn-dialog .cbn-line { background: var(--cb-line); }
.hs .cb-header { box-shadow: 0 3px 16px #244d8510; }

/* HERO — existing wordmark, two films, copy and model cases. */
.hs .cb-hero { background: #fff; }
.hs .cb-hero__grid { max-width: 1320px; padding: 56px 60px 28px; gap: 60px; }
.hs .cb-hero__side { color: #7d96b9; font-size: 9px; }
.hs .cb-hero__eyebrow { color: var(--cb-blue); font-size: 11px; font-weight: 700; letter-spacing: .23em; }
.hs .cb-hero__big { font-size: clamp(62px, 6.4vw, 87px); letter-spacing: -.015em; line-height: 1.16; margin-top: 5px; }
.hs .cb-hero__tagline { margin-top: 10px; font-size: 14px; letter-spacing: .035em; line-height: 1.9; color: var(--cb-deep); }
.hs .cb-hero__tagline span { display: inline-block; }
/* 「はじめてのフィリピン・セブ島留学。」を改行せず 1 行に収める(2026-10-11)。文字の枠の幅(cqi)から大きさを決め、上限は PC 30px・ほかの幅は従来の値。
   17 文字+字間で 17.6em なので 18 で割る(少し余裕を残す)。cqi が使えないブラウザは 1 つ目の宣言になる */
.hs .cb-hero__copy { container-type: inline-size; }
.hs .cb-hero__h1 { font-size: clamp(25px, 2.6vw, 30px); font-size: min(30px, 100cqi / 18); line-height: 1.8; letter-spacing: .035em; margin-top: 27px; }
.hs .cb-hero__ask { background: none; border: 0; box-shadow: none; padding: 0; margin-top: 20px; font-size: 15px; font-weight: 700; line-height: 1.9; max-width: none; border-radius: 0; }
.hs .cb-hero__ask::before, .hs .cb-hero__ask::after { display: none; }
.hs .cb-hero__lead { font-size: 14px; margin-top: 12px; line-height: 2; max-width: 520px; }
.hs .cb-hero__chips { margin-top: 21px; gap: 8px; }
.hs .cb-hero__chip { border-radius: 6px; font-size: 11px; padding: 6px 10px; }
.hs .cb-hero__chip--blue { background: #edf4ff; color: var(--cb-deep); }
.hs .cb-hero__chip--red { background: #fff1ec; color: #a33d32; }
.hs .cb-hero__line-card { border: 1px solid #dbe8df; border-radius: 18px; box-shadow: none; background: #f8fcf9; padding: 22px 24px; margin: 26px 0 0; max-width: 530px; }
.hs .cb-hero__line-card-title { font-size: 15px; line-height: 1.85; }
.hs .cb-hero__line-card-note { color: #5a7166; font-size: 11px; margin-top: 8px; }
.hs .cb-hero__line-btn { font-size: 16px; border-radius: 12px; padding: 16px; }
.hs .cb-hero__cv-btn { background: #fff; color: var(--cb-deep); border: 1px solid #c5d5ed; max-width: 530px; width: 100%; margin: 12px 0 0; font-size: 13px; padding: 12px 16px; }
.hs .cb-hero__cv-btn:hover { background: #f1f6ff; color: var(--cb-deep); }
.hs .cb-hero__photo { margin: 0; min-height: 630px; }
.hs .cb-hero__blob { display: none; }
.hs .cb-hero__polaroid { width: 96%; margin: 0; padding: 9px 9px 0; border-radius: 20px; transform: rotate(-2deg); box-shadow: 0 14px 40px #26447714; }
.hs .cb-hero__tape { display: none; }
.hs .cb-hero__slides { border-radius: 13px; height: 430px; }
.hs .cb-hero__cap { color: var(--cb-deep); font-size: 16px; padding: 20px 12px 22px; margin: 0; line-height: 1.7; width: 56%; text-align: left; }
.hs .cb-hero__cap br { display: block; }
.hs .cb-hero__sub-polaroid { right: -4%; bottom: 0; width: 49%; border-radius: 16px; padding: 7px 7px 12px; transform: rotate(3deg); animation: none; box-shadow: 0 10px 30px #20437718; }
.hs .cb-hero__sub-polaroid-media { height: 156px; border-radius: 10px; }
.hs .cb-hero__sub-polaroid p { font-size: 12px; padding: 4px 0; }
.hs .cb-hero__bubble { top: 42%; left: -30px; background: var(--cb-yellow); border: 0; padding: 18px 24px; border-radius: 14px; box-shadow: none; transform: rotate(-5deg); }
.hs .cb-hero__bubble p { font-size: 19px; color: var(--cb-deep); line-height: 1.6; }
.hs .cb-hero__bubble-tail { background: var(--cb-yellow); border: 0; }
.hs .cb-hero__stamp { right: -15px; top: -23px; width: 84px; height: 84px; }
.hs .cb-hero__stamp-bg { background: var(--cb-yellow); box-shadow: none; }
.hs .cb-hero__stamp-core { border: 0; font-size: 22px; inset: 24px; }
.hs .cb-hero__interview { padding: 30px 0 0; }
.hs .cb-hero__int-label { font-size: 10px; color: #687f9f; letter-spacing: .12em; }
.hs .cb-hero__int-pills { gap: 14px; flex-wrap: nowrap; margin-top: 16px; }
.hs .cb-hero__int-pill { border: 0; border-radius: 0; box-shadow: none; padding: 0; gap: 7px; font-size: 11px; background: none; }
.hs .cb-hero__int-pill img { width: 36px; height: 36px; }
.hs .cb-hero__int-more { border: 0; box-shadow: none; width: fit-content; padding: 9px 0; margin-top: 10px; border-radius: 0; font-size: 12px; }
.hs .cb-marquee { margin-top: 28px; padding: 20px 0 34px; }
.hs .cb-marquee__item { font-family: var(--cb-font-script); font-size: 52px; color: #bad2eb; letter-spacing: .02em; }

/* A DAY — preserve all four photos and their time labels. */
.hs .cb-day__cards { grid-template-columns: repeat(4,minmax(0,1fr)); gap: 22px; margin-top: 52px; }
.hs .cb-day__tilt, .hs .cb-day__tilt:nth-child(n) { transform: none; }
.hs .cb-day__tilt:nth-child(even) { margin-top: 38px; }
.hs .cb-day__card { padding: 0; background: transparent; box-shadow: none; border-radius: 16px; }
.hs .cb-day__imgwrap { border-radius: 16px; }
.hs .cb-day__imgwrap img { height: 292px; }
.hs .cb-day__time { font-family: var(--cb-font-script); font-size: 21px; font-weight: 700; padding: 5px 16px; top: 14px; left: 14px; border-radius: 7px; letter-spacing: .02em; }
.hs .cb-day__cap { font-size: 14px; color: var(--cb-deep); font-weight: 700; margin-top: 17px; line-height: 1.8; }
.hs .cb-day__stats { margin-top: 42px; border: 0; border-radius: 18px; background: #ffffffb8; }
.hs .cb-day__stat { padding: 27px 24px; border-color: #cee1f0; }
.hs .cb-day__stat b { font-size: 26px; }
.hs .cb-day__stat span { font-size: 13px; }
.hs .cb-day__cta-wrap { margin-top: 30px; }

/* ABOUT — same two groups: agency introduction / counseling promises. */
.hs [data-section="about"] > .cb-inner { display: grid; grid-template-columns: .88fr 1.12fr; gap: 62px; align-items: center; }
.hs [data-section="about"] .cb-sec-head--center { text-align: left; }
.hs .cb-facts__h2 { font-size: 34px !important; margin-top: 22px; }
.hs .cb-facts__lead { font-size: 15px; line-height: 2.2; margin-top: 25px; color: #e0eafa; }
.hs .cb-cv { border-radius: 22px; padding: 40px; box-shadow: none; margin: 0 !important; max-width: none; }
.hs .cb-cv__script { text-align: left; font-size: 32px; }
.hs .cb-cv__title { text-align: left; font-size: 26px; line-height: 1.75; margin-top: 18px; }
.hs .cb-cv__list { margin: 26px 0; padding: 0; }
.hs .cb-cv__item { border-bottom: 1px solid #e3ebf6; padding: 19px 0; gap: 15px; background: none; border-radius: 0; }
.hs .cb-cv__no { border-radius: 0; background: none; box-shadow: none; font-family: var(--cb-font-script); font-size: 28px; color: var(--cb-blue); width: 35px; flex-shrink: 0; }
.hs .cb-cv__text { font-size: 15px; line-height: 1.9; }
.hs .cb-cv__btns { display: grid; grid-template-columns: 1fr; gap: 12px; }
.hs .cb-cv__btn { padding: 15px 16px; min-height: auto; }
.hs .cb-cv__btn--line { background: var(--cb-line); color: #fff; border: 0; }
.hs .cb-cv__btn--line b, .hs .cb-cv__btn--line .cb-cv__btn-sub { color: #fff; }
.hs .cb-cv__btn-sub { letter-spacing: .1em; font-size: 10px; }
.hs .cb-cv__note { font-size: 12px; line-height: 1.8; }

/* REASONS — use the approved reference's actual typography and spacing. */
.hs [data-section="reason"] > .cb-inner { max-width: 1260px; padding-inline: 40px; }
.hs .cb-reason__grid { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 23px; margin-top: 50px; }
.hs .cb-reason__card {
  --yellow: #ffd93b; --blue: #2f6ac9;
  position: relative; display: flex; flex-direction: column; min-width: 0;
  min-height: 495px; padding: 31px 33px; overflow: hidden;
  border: 0; border-radius: 25px; box-shadow: none; text-align: left;
  background: #eeefed; color: #234f98;
  font-family: "CB LP Zen Maru", sans-serif; font-size: 15px;
  font-weight: 500; line-height: 1.95; letter-spacing: .025em;
}
.hs .cb-reason__card:hover { transform: none; }
/* 理由のカードの見出しは h3(1 枚目はタイトル、2・3 枚目は .hm-label の主題の語)。大きなキャッチは h3 の外の段落 .hm-catch(front-page.php)。
   1 枚目の h3.cb-reason__title は下の指定の余白を使うので、ここの 0 から外す */
.hs .cb-reason__card :is(h3,p):where(:not(.cb-reason__title)) { margin: 0; }
.hs .cb-reason__card a { color: inherit; text-decoration: none; }
.hs .cb-reason__point, .hs .hm-promise .hm-label {
  font-family: inherit; font-size: 12px; font-weight: 700;
  color: inherit; line-height: 1.95; letter-spacing: .06em; transform: none;
}
.hs .cb-reason__title, .hs .hm-promise .hm-catch {
  font-size: 29px; font-weight: 700; line-height: 1.7;
  margin: 21px 0 15px; letter-spacing: .025em; color: inherit; text-wrap: wrap;
}
/* キャッチは h3 から段落にしたので、見出しと同じ文節での折り返し(style.css の :where(h3 …))を自分で持つ */
.hs .hm-promise .hm-catch { word-break: auto-phrase; }
.hs .cb-reason__title > span { display: block; white-space: normal !important; }
/* h3 にしたので見出しの自動処理が 2 つの塊の間に <wbr> を入れる。塊は縦に並べているので、印が空の行を作らないよう消す */
.hs .cb-reason__title > wbr { display: none; }
.hs .hs-reason-phrase { display: inline-block; }
.hs .cb-reason__body, .hs .hm-terms {
  font-size: 12px; line-height: 1.9; color: inherit; text-wrap: pretty;
}
.hs .hs-reason--expert { padding-bottom: 245px; }
.hs .hs-reason--expert > :not(.hs-reason-photo) { position: relative; z-index: 1; }
.hs .hs-reason-photo {
  position: absolute; bottom: 0; left: 0; display: block;
  width: 100%; height: 240px; object-fit: cover; object-position: 60% center;
  mask-image: linear-gradient(transparent, #000 18%);
  -webkit-mask-image: linear-gradient(transparent, #000 18%);
}
.hs .hm-promise-lesson { background: #e6eefc; }
.hs .hm-free { font-size: 13px; margin-top: 4px !important; line-height: 1.7; }
.hs .hm-free strong {
  display: block; width: max-content; max-width: 100%; margin-top: 6px;
  padding: 4px 13px; border-radius: 5px; background: var(--yellow);
  font-size: 26px; letter-spacing: .1em;
}
.hs .hm-number { display: flex; align-items: baseline; gap: 3px; line-height: 1.1; margin: 21px 0 15px; }
.hs .hm-number strong { font-size: 108px; letter-spacing: -.05em; font-weight: 700; padding-right: 5px; }
.hs .hm-number > span { font-size: 21px; font-weight: 700; letter-spacing: 0; }
.hs .hm-promise-price { background: var(--blue); color: #fff; }
.hs .hm-promise-price .hm-catch { margin-bottom: 0; }
.hs .hm-zero { display: flex; align-items: baseline; gap: 5px; color: var(--yellow); line-height: 1.15; margin: 26px 0 12px !important; }
.hs .hm-zero > span { font-size: 63px; }
.hs .hm-zero > strong { font-size: 123px; font-weight: 700; letter-spacing: -.04em; }
.hs .hm-promise-price > p:not([class]) { font-size: 13px; }
.hs .hm-promise-link {
  display: block; margin-top: auto; padding-top: 22px;
  font-size: 12px; font-weight: 700;
  text-decoration: underline !important; text-underline-offset: 4px;
}
.hs .hm-promise-price > a:focus-visible { outline-color: var(--yellow); }
.hs .cb-reason__cta { max-width: 540px; margin-top: 36px; }

/* THREE QUESTIONS — preserve question links and the conversation example. */
.hs .cb-q3__h2 { margin-top: 18px; }
.hs .cb-q3__lead { font-size: 15px; margin-top: 18px; }
.hs .cb-q3__grid { grid-template-columns: 1.15fr .85fr; gap: 70px; margin-top: 56px; }
.hs .cb-q3__grid > * { min-width: 0; }
.hs .cb-q3__item { padding: 26px 24px; box-shadow: none; border-radius: 16px; gap: 19px; }
.hs .cb-q3__qno { background: #edf4ff; border-radius: 10px; width: 55px; height: 58px; font-size: 26px; }
.hs .cb-q3__q b { font-size: 19px; line-height: 1.7; }
.hs .cb-q3__q > span { font-size: 12px; margin-top: 9px; line-height: 1.8; }
.hs .cb-q3__arrow { font-size: 24px; border: 0; background: none; color: var(--cb-blue); }
.hs .cb-q3__chat { transform: none; border-radius: 24px; box-shadow: none; border: 0; background: #edf5fe; }
.hs .cb-q3__chat-head { padding: 22px; }
.hs .cb-q3__chat-body { padding: 24px 22px 32px; }
.hs .cb-q3__msg p { font-size: 14px; line-height: 1.9; }
.hs .cb-q3__sticker { box-shadow: none; }

/* COST — columns and figures unchanged; stronger typographic comparison. */
.hs .cb-cost__grid { grid-template-columns: 1fr 1fr; gap: 32px; align-items: start; margin-top: 40px; }
.hs .cb-cost__receipt-wrap { max-width: none; }
.hs .cb-cost__estimate, .hs .cb-cost__receipt { padding: 36px; border: 0; border-radius: 22px; box-shadow: none; }
.hs .cb-cost__estimate-label { margin: 0 0 26px; gap: 16px; }
.hs .cb-cost__estimate-label .cb-script { font-size: 34px; }
.hs .cb-cost__estimate-label > span:last-child { font-size: 14px; }
.hs .cb-cost__table { border-collapse: separate; border-spacing: 0; width: 100%; }
.hs .cb-cost__table th { font-size: 12px; text-align: left; padding: 16px 12px; line-height: 1.7; border-bottom: 1px solid #b6ccec; color: #526a8c; }
.hs .cb-cost__table th:last-child { border-radius: 12px 12px 0 0; }
.hs .cb-cost__table td { font-size: 14px; padding: 23px 12px; border-bottom: 1px solid #e5edf7; vertical-align: middle; }
.hs .cb-cost__table .cb-cost__td-total { color: var(--cb-deep); font-size: 13px; white-space: nowrap; }
.hs .hs-amount { font-size: 34px; line-height: 1.2; letter-spacing: -.04em; display: inline-block; margin-right: .05em; }
.hs .cb-cost__table tr:last-child td:last-child { border-radius: 0 0 12px 12px; }
.hs .cb-cost__estimate-note { font-size: 12px !important; line-height: 1.95; margin-top: 22px; color: #5c708a; border-color: #e1e9f5; }
.hs .cb-cost__receipt { position: relative; border-radius: 22px; }
.hs .cb-cost__sticker { top: 28px; right: 28px; transform: none; background: #fff6d5; color: #83630b; box-shadow: none; padding: 6px 13px; font-size: 11px; }
.hs .cb-cost__receipt-label { font-size: 11px; letter-spacing: .2em; color: #6c83a2; }
.hs .cb-cost__receipt-title { font-size: 22px; margin-top: 18px; }
.hs .cb-cost__receipt-title > span { font-size: 13px; margin-top: 7px; }
.hs .cb-cost__receipt-rows { padding: 25px 0; margin-top: 25px; border: 0; border-top: 1px solid #e3ebf6; display: grid; gap: 17px; }
.hs .cb-cost__receipt-row { font-size: 14px; gap: 20px; align-items: baseline; }
.hs .cb-cost__receipt-row > span { line-height: 1.8; }
.hs .cb-cost__receipt-row > b { font-size: 15px; white-space: nowrap; }
.hs .cb-cost__receipt-total { display: block; margin-top: 24px; }
.hs .cb-cost__receipt-total > span { font-size: 12px; display: block; }
.hs .cb-cost__receipt-total > b { display: block; text-align: right; margin-top: 13px; font-size: 21px; }
.hs .cb-cost__receipt-total .hs-amount { font-size: 49px; }
.hs .cb-cost__receipt-foot { font-size: 11px; line-height: 1.9; color: #687c96; }
.hs .cb-cost__zigzag { display: none; }
.hs .cb-cost__minis { gap: 16px; margin-top: 20px; }
.hs .cb-cost__mini { border: 0; padding: 18px; border-radius: 14px; }
.hs .cb-cost__mini .hs-amount { font-size: 27px; }
.hs .cb-cost__minis-note { font-size: 12px; }
.hs .cb-cost__cta-btn { font-size: 15px; }

/* DIAGNOSIS + VOICES — existing relationship and existing behavior. */
.hs .cb-diag__grid { gap: 32px; margin-top: 40px; grid-template-columns: 1fr 1fr; }
.hs .cb-diag__card { padding: 35px; border: 1px solid #dce7f5; border-radius: 22px; box-shadow: none; background: #f3f7ff; }
.hs .cb-diag__title { font-size: 25px; }
.hs .cb-diag__q { font-size: 16px; margin-top: 29px; }
.hs .cb-diag__qno { font-family: var(--cb-font-script); font-size: 23px; background: transparent; color: var(--cb-blue); }
.hs .cb-diag__opts { gap: 9px; margin-top: 13px; }
.hs .cb-diag__opt { border: 1px solid #c3d4ed; background: #fff; color: var(--cb-deep); border-radius: 10px; min-height: 56px; padding: 12px 8px; font-size: 14px; box-shadow: none; }
.hs .cb-diag__opt.is-selected { background: var(--cb-blue); border-color: var(--cb-blue); color: #fff; }
.hs .cb-diag__result:not(.is-open), .hs .cb-faq__item:not(.is-open) .cb-faq__a { visibility: hidden; }
.hs .cb-diag__result-card { border-radius: 14px; padding: 23px; box-shadow: none; }
.hs .cb-diag__result-btn { font-size: 12px; padding: 13px 16px; }
.hs .cb-diag__line-btn { margin-top: 24px; }
.hs .cb-voices { gap: 20px; }
.hs .cb-voice { background: #fffaf0; border: 0; border-radius: 20px; box-shadow: none; padding: 28px 30px; }
.hs .cb-voice__avatar { width: 69px; height: 69px; border: 0; }
.hs .cb-voice__name b { font-size: 19px; }
.hs .cb-voice__name b > span { display: block; font-size: 12px; margin-top: 4px; }
.hs .cb-voice__timeline { margin-top: 22px; }
.hs .cb-voice__text { font-size: 14px; line-height: 1.9; }
.hs .cb-voice__text--after { font-size: 17px; color: var(--cb-deep); }
.hs .cb-voice__tag { border-radius: 5px; }
.hs .cb-voice__source { font-size: 13px; }
.hs .cb-voices__more { border-radius: 12px; box-shadow: none; font-size: 14px; }

/* PEOPLE — real portraits become the first thing you see in each group. */
.hs .cb-counselor__grid { grid-template-columns: 1fr 1fr; gap: 32px; margin-top: 42px; }
.hs .cb-counselor__card { padding: 30px; border: 0; border-radius: 22px; box-shadow: none; overflow: hidden; }
.hs .cb-counselor__head { display: grid; grid-template-columns: 46% 1fr; align-items: center; gap: 24px; }
.hs .cb-counselor__avatar { width: 100%; height: 260px; border: 0; border-radius: 14px; background: #eef4f8; transform: none; box-shadow: none; }
.hs .cb-counselor__avatar img { width: 100%; height: 100%; object-fit: cover; object-position: center 20%; border-radius: inherit; }
.hs .cb-counselor__tag { background: transparent; color: #6582aa; padding: 0; letter-spacing: .14em; font-size: 10px; }
.hs .cb-counselor__name { font-family: var(--cb-font-script); font-size: 39px; line-height: 1.35; margin-top: 12px; letter-spacing: 0; }
.hs .cb-counselor__bio { font-size: 20px; line-height: 1.9; margin: 23px 0; }
.hs .cb-counselor__fit-label { font-size: 12px; padding-top: 20px; border-top: 1px solid #e2eaf4; }
.hs .cb-chip-row { margin-top: 12px; gap: 7px; }
.hs .cb-chip { background: #f0f5fd; border: 0; border-radius: 6px; color: #46678e; font-size: 12px; padding: 7px 10px; box-shadow: none; }
.hs .cb-counselor__link { font-size: 13px; padding-top: 15px; margin-top: 15px; }
/* 安心のラベル 3 つは、2 人のカードの下にまとめて置いている。左寄せだと左のカード(Nakao)のラベルに見えるので、カードとボタンと同じ中心にそろえる(2026-10-11) */
.hs .cb-counselor__checks { margin-top: 32px; gap: 24px; justify-content: center; }
.hs .cb-counselor__check { font-size: 14px; }
.hs .cb-counselor__cta { max-width: 480px; margin-top: 24px; }

/* CHECKLIST */
.hs .cb-check__grid { grid-template-columns: 1.2fr .8fr; gap: 40px; margin-top: 42px; align-items: start; }
.hs .cb-check__card { border: 1px solid #dce6f4; padding: 32px; border-radius: 22px; box-shadow: none; background: #fff; }
.hs .cb-check__head { display: block; padding-bottom: 20px; border-bottom: 1px solid #dce6f4; }
.hs .cb-check__title { font-size: 20px; line-height: 1.6; }
.hs .cb-check__screenshot { font-size: 22px; margin-top: 12px; background: none; color: var(--cb-blue); transform: none; padding: 0; }
.hs .cb-check__item { font-size: 16px; line-height: 1.9; gap: 14px; padding-block: 18px; }
.hs .cb-check__tick { width: 26px; height: 26px; border-radius: 5px; background: #edf4ff; color: var(--cb-blue); font-size: 16px; }
.hs .cb-check__more { font-size: 14px; margin-top: 20px; }
.hs .cb-check__process { padding: 32px; border-radius: 22px; background: #fff8df; border: 0; box-shadow: none; }
.hs .cb-check__process-label { display: block; }
.hs .cb-check__process-label .cb-script { display: block; font-size: 34px; margin-bottom: 8px; }
.hs .cb-check__process-label > span:last-child { font-size: 14px; }
.hs .cb-check__step p { font-size: 16px; line-height: 1.9; }
.hs .cb-check__process-note, .hs .cb-check__process-link { font-size: 13px; line-height: 1.9; }

/* SCHOOLS — three original schools, amounts, copy and entry points. */
.hs .cb-school__grid { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 24px; margin-top: 42px; }
.hs .cb-school__card { border: 0; border-radius: 20px; box-shadow: none; overflow: hidden; display: flex; flex-direction: column; }
.hs .cb-school__imgwrap { border-radius: 0; height: auto; }
.hs .cb-school__imgwrap img { height: 242px; width: 100%; object-fit: cover; }
.hs .cb-school__badge { border-radius: 6px; left: 20px; top: 20px; font-size: 10px; padding: 5px 12px; }
.hs .cb-school__body { padding: 27px; flex: 1; display: flex; flex-direction: column; }
.hs .cb-school__row { display: block; }
.hs .cb-school__name { font-size: 25px; display: block; }
.hs .cb-school__spec { display: block; font-size: 12px; margin-top: 8px; }
.hs .cb-school__price { font-size: 16px; color: var(--cb-deep); margin-top: 14px; }
.hs .cb-school__price .hs-amount { font-size: 27px; letter-spacing: -.035em; }
.hs .cb-fusen { border: 0; background: #f6f9fe; border-radius: 12px; padding: 18px; transform: none; margin-top: 20px; flex: 1; }
.hs .cb-fusen__label { color: var(--cb-blue); font-size: 12px; }
.hs .cb-fusen__text { color: #526780; font-size: 14px; line-height: 1.9; }
.hs .cb-school__body > a { font-size: 14px !important; margin-top: 21px !important; }
.hs .cb-school__note { font-size: 13px; margin-top: 26px; }
.hs .cb-school__entries { max-width: 840px; gap: 15px; margin-top: 32px; }
.hs .cb-school__entry { padding: 23px 15px; border: 1px solid #c8dbee; border-radius: 12px; text-align: left; }
.hs .cb-school__entry span { font-size: 28px; margin-bottom: 6px; }
.hs .cb-school__entry b { font-size: 15px; }
.hs .cb-school__cta { margin-top: 26px; }

/* FLOW — four intact steps in order. */
.hs .cb-step__list { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 24px; max-width: none; margin-top: 46px; }
.hs .cb-step__item { display: block; position: relative; }
.hs .cb-step__rail { flex-direction: row; gap: 16px; margin-bottom: 23px; }
.hs .cb-step__no { width: 50px; height: 50px; border: 0; background: #edf4ff; border-radius: 10px; font-size: 29px; }
.hs .cb-step__connector { width: auto; height: 1px; border: 0; border-top: 1px solid #d2dfef; min-height: 0; flex: 1; }
.hs .cb-step__head { display: flex; align-items: start; flex-direction: column; gap: 16px; }
.hs .cb-step__title { font-size: 19px; line-height: 1.8; min-height: 69px; }
.hs .cb-step__exit { font-size: 11px; border-radius: 5px; padding: 5px 10px; }
.hs .cb-step__text { font-size: 14px; line-height: 2; margin-top: 15px; }
.hs .cb-step__goal { grid-column: 1 / -1; justify-content: flex-end; border-top: 1px solid #e1eaf5; padding-top: 24px; }
.hs .cb-step__goal .cb-script { font-size: 40px; }
.hs .cb-step__note { max-width: none; background: #fff9e7; border: 0; border-radius: 12px; padding: 22px 28px; font-size: 13px; }

/* FAQ — a calm reading surface, original disclosure behavior. */
.hs [data-section="faq"] .cb-inner { display: grid; grid-template-columns: .75fr 1.25fr; gap: 0 64px; align-items: start; }
.hs [data-section="faq"] .cb-sec-head--center { text-align: left; }
.hs [data-section="faq"] .cb-h2 { font-size: 34px !important; }
.hs .cb-faq__list { margin: 0; width: 100%; max-width: none; gap: 13px; }
.hs .cb-faq__item { background: #fff; border: 1px solid transparent; border-radius: 14px; }
.hs .cb-faq__q { color: var(--cb-deep); font-size: 16px; padding: 23px 25px; line-height: 1.8; }
.hs .cb-faq__q-mark { color: var(--cb-blue); font-size: 26px; }
.hs .cb-faq__icon { width: 24px; height: 24px; position: relative; font-size: 0; color: var(--cb-blue); }
.hs .cb-faq__icon::before, .hs .cb-faq__icon::after { content: ''; position: absolute; top: 50%; left: 50%; background: currentColor; width: 15px; height: 1.5px; transform: translate(-50%,-50%); }
.hs .cb-faq__icon::after { transform: translate(-50%,-50%) rotate(90deg); }
.hs .cb-faq__a-inner { border-color: #dce7f4; color: #435b7a; margin: 0 25px 25px; padding-top: 22px; font-size: 15px; line-height: 2; }
.hs .cb-faq__a-mark { color: var(--cb-blue); }
.hs .cb-faq__item.is-open { border-color: #acc8ec; }
.hs .cb-faq__item.is-open .cb-faq__a { max-height: 1400px; }
.hs .cb-faq__more-wrap { grid-column: 2; text-align: left; margin-top: 23px; }

/* SOCIAL + FINAL: same content, a quieter finish in the brand palette. */
.hs .cb-sns-top__grid { grid-template-columns: repeat(4,minmax(0,1fr)); gap: 22px; margin-top: 42px; }
.hs .cb-sns-top__card { background: #f3f7fe; border: 0; box-shadow: none; border-radius: 18px; padding: 26px 23px; }
.hs .cb-sns-top__card-head { display: block; }
.hs .cb-sns-top__badge { width: 40px; height: 40px; border-radius: 10px; margin-bottom: 22px; }
.hs .cb-sns-top__card-head b { font-size: 16px; }
.hs .cb-sns-top__meta { font-size: 10px; margin-top: 7px; }
.hs .cb-sns-top__card p { font-size: 13px; line-height: 1.9; margin-top: 19px; }
.hs .cb-sns-top__arrow { font-size: 13px; margin-top: 22px; }
.hs .cb-final { background: #fff7dc; padding: 88px 40px 100px; }
.hs .cb-final__box { border: 0; border-radius: 0; padding: 0; }
.hs .cb-final__script { color: var(--cb-blue); font-size: 55px; }
.hs .cb-final__h2 { color: var(--cb-deep); font-size: clamp(29px,3.4vw,46px); line-height: 1.7; margin-top: 18px; }
.hs .cb-final__lead { color: #5c6c7f; font-size: 16px; margin-top: 23px; }
.hs .cb-final__btns { max-width: 670px; gap: 20px; margin-top: 37px; }
.hs .cb-final__btn--white { background: var(--cb-blue); color: #fff; }
.hs .cb-final__btn--white .cb-btn__sub { color: #fff; }
.hs .cb-footer { padding: 54px 20px 40px; }
.hs .cb-footer__cols { gap: 28px; }
.hs .cb-footer__col a { font-size: 13px; padding-block: 6px; }
.hs .cb-footer__col-title { color: #bdcfee; font-size: 12px; }
.hs .cb-footer__ainote, .hs .cb-footer__copy { color: #b4c8ea; }
.hs .cb-desk-cta { right: 20px; bottom: 20px; gap: 9px; }
.hs .cb-desk-cta__line, .hs .cb-desk-cta__counsel { border-radius: 12px; padding: 13px 20px; font-size: 12px; box-shadow: 0 4px 20px #163d7d14; }
.hs .cb-desk-cta__ai { box-shadow: 0 3px 15px #163d7d0c; }
.hs .cb-sticky-bar__btn { border-radius: 10px; }

@media (min-width: 920px) {
  .hs .cb-hero__grid { grid-template-columns: minmax(0,1.02fr) minmax(0,1fr); align-items: center; }
}
@media (max-width: 1179px) {
  .hs .cb-inner { padding-inline: 32px; }
  .hs .cb-hero__grid { padding-inline: 38px; gap: 44px; }
  .hs .cb-hero__big { font-size: 7vw; }
  .hs .cb-hero__h1 { font-size: 27px; font-size: min(27px, 100cqi / 18); }
  .hs .cb-hero__photo { min-height: 585px; }
  .hs .cb-hero__slides { height: 380px; }
  .hs .cb-hero__cap { font-size: 15px; }
  .hs .cb-hero__int-pills { flex-wrap: wrap; }
  .hs [data-section="about"] > .cb-inner { gap: 32px; }
  .hs .cb-cv { padding: 28px; }
  .hs .cb-facts__h2 { font-size: 28px !important; }
  .hs .cb-q3__grid { gap: 35px; }
  .hs .cb-cost__estimate, .hs .cb-cost__receipt, .hs .cb-diag__card { padding: 27px; }
  .hs .cb-cost__table td { padding-inline: 9px; }
  .hs .hs-amount { font-size: 29px; }
  .hs .cb-counselor__card { padding: 26px; }
  .hs .cb-counselor__head { grid-template-columns: 43% 1fr; gap: 19px; }
  .hs .cb-counselor__avatar { height: 220px; }
  .hs .cb-counselor__name { font-size: 31px; }
  .hs .cb-school__body { padding: 23px; }
  .hs .cb-school__name { font-size: 21px; }
  .hs .cb-sns-top__grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 919px) {
  .hs .cb-sec { padding-block: 90px 82px !important; }
  .hs .cb-hero__grid { padding: 37px 32px 10px; gap: 28px; max-width: 700px; }
  .hs .cb-hero__title { text-align: center; }
  .hs .cb-hero__big { font-size: clamp(50px,11.5vw,80px); }
  .hs .cb-hero__h1 { font-size: clamp(27px,4.4vw,35px); font-size: min(clamp(27px,4.4vw,35px), 100cqi / 18); margin-top: 0; }
  .hs .cb-hero__tagline { font-size: 13px; }
  .hs .cb-hero__photo-wrap { padding: 14px 24px 8px; }
  .hs .cb-hero__photo { min-height: 540px; }
  .hs .cb-hero__polaroid { width: 86%; }
  .hs .cb-hero__slides { height: 350px; }
  .hs .cb-hero__sub-polaroid { display: block; right: 0; width: 44%; }
  .hs .cb-hero__sub-polaroid-media { height: 130px; }
  .hs .cb-hero__bubble { left: auto; right: -8px; top: 26%; }
  .hs .cb-hero__stamp { top: -16px; right: 7%; width: 72px; height: 72px; }
  .hs .cb-hero__stamp-core { font-size: 18px; inset: 20px; }
  .hs .cb-hero__lead, .hs .cb-hero__ask { max-width: 540px; }
  .hs .cb-hero__line-card { margin-inline: auto; text-align: left; }
  .hs .cb-hero__cv-btn { margin-inline: auto; }
  .hs .cb-hero__interview { padding-top: 5px; text-align: center; }
  .hs .cb-hero__int-pills { justify-content: center; }
  .hs .cb-hero__int-more { margin-inline: auto; }
  .hs .cb-marquee { margin-top: 24px; }
  .hs .cb-day__cards { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 26px; }
  .hs .cb-day__tilt:nth-child(even) { margin-top: 0; }
  .hs .cb-day__imgwrap img { height: 290px; }
  .hs [data-section="about"] > .cb-inner { grid-template-columns: 1fr; gap: 38px; }
  .hs .cb-facts__h2 { font-size: 32px !important; }
  .hs .cb-cv { padding: 40px; }
  .hs .cb-cv__btns { grid-template-columns: 1fr 1fr; }
  .hs .cb-q3__grid { grid-template-columns: 1fr 1fr; gap: 24px; }
  .hs .cb-q3__item { padding: 20px 16px; gap: 12px; }
  .hs .cb-q3__qno { width: 40px; height: 46px; font-size: 22px; }
  .hs .cb-q3__q b { font-size: 16px; }
  .hs .cb-q3__arrow { display: none; }
  .hs .cb-cost__grid, .hs .cb-diag__grid { grid-template-columns: 1fr; max-width: 700px; }
  .hs .cb-cost__estimate, .hs .cb-cost__receipt, .hs .cb-diag__card { padding: 35px; }
  .hs .hs-amount { font-size: 36px; }
  .hs .cb-counselor__grid { gap: 20px; }
  .hs .cb-counselor__head { display: block; }
  .hs .cb-counselor__avatar { height: 300px; }
  .hs .cb-counselor__head > div:last-child { margin-top: 23px; }
  .hs .cb-counselor__name { font-size: 37px; margin-top: 5px; }
  .hs .cb-counselor__bio { font-size: 18px; }
  .hs .cb-check__grid { grid-template-columns: 1fr; gap: 24px; }
  .hs .cb-school__grid { gap: 15px; }
  .hs .cb-school__imgwrap img { height: 170px; }
  .hs .cb-school__body { padding: 19px 16px; }
  .hs .cb-school__name { font-size: 19px; }
  .hs .cb-fusen { padding: 14px 12px; }
  .hs .cb-fusen__text { font-size: 13px; }
  .hs .cb-step__list { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 30px; }
  .hs .cb-step__title { min-height: 0; }
  .hs [data-section="faq"] .cb-inner { grid-template-columns: 1fr; gap: 34px; }
  .hs .cb-faq__more-wrap { grid-column: 1; margin-top: 0; }
}
@media (max-width: 599px) {
  .hs .cb-inner { padding-inline: 22px; }
  .hs .cb-sec { padding-block: 76px 68px !important; }
  .hs .cb-wave { height: 18px; background-size: 310px 18px; }
  .hs [id] { scroll-margin-top: 112px !important; }
  .hs .cb-inner > [data-reveal] > .cb-script, .hs .cb-sec-head--center > .cb-script { font-size: 33px !important; margin-bottom: 15px; }
  .hs .cb-h2, .hs .cb-facts__h2, .hs .cb-q3__h2 { font-size: 28px !important; line-height: 1.7 !important; letter-spacing: .02em; }
  .hs .cb-lead { font-size: 14px !important; }
  .hs .cb-answer { font-size: 16px; }
  .hs .cb-sec-head--center { text-align: left; }
  .hs .cb-hero__grid { padding: 32px 22px 0; gap: 23px; }
  .hs .cb-hero__eyebrow { font-size: 9px; letter-spacing: .19em; }
  .hs .cb-hero__big { font-size: clamp(44px,11.5vw,68px); }
  .hs .cb-hero__tagline { font-size: 11px; line-height: 1.85; margin-top: 7px; }
  .hs .cb-hero__photo-wrap { padding: 15px 8px 10px; }
  .hs .cb-hero__photo { min-height: 375px; }
  .hs .cb-hero__polaroid { width: 88%; border-radius: 14px; padding: 6px 6px 0; }
  .hs .cb-hero__slides { height: 240px; border-radius: 9px; }
  .hs .cb-hero__cap { font-size: 11px; padding: 12px 6px; }
  .hs .cb-hero__sub-polaroid { width: 46%; padding: 5px 5px 9px; border-radius: 12px; }
  .hs .cb-hero__sub-polaroid-media { height: 89px; border-radius: 7px; }
  .hs .cb-hero__sub-polaroid p { font-size: 9px; margin-top: 3px; padding: 0; }
  .hs .cb-hero__stamp { width: 59px; height: 59px; right: 1%; top: -11px; }
  .hs .cb-hero__stamp-core { font-size: 16px; inset: 17px; }
  .hs .cb-hero__bubble { padding: 11px 14px; border-radius: 10px; top: 36%; right: -5px; }
  .hs .cb-hero__bubble p { font-size: 14px; }
  .hs .cb-hero__blob { border-radius: 16px; inset: 5% 0 10% 4%; }
  .hs .cb-hero__h1 { font-size: clamp(21px,5.8vw,29px); font-size: min(clamp(21px,5.8vw,29px), 100cqi / 18); text-align: left; line-height: 1.9; }
  .hs .cb-hero__copy { text-align: left; }
  .hs .cb-hero__ask { font-size: 13px; margin-top: 17px; }
  .hs .cb-hero__lead { font-size: 13px; text-align: left; }
  .hs .cb-hero__chips { justify-content: flex-start; gap: 6px; margin-top: 16px; }
  .hs .cb-hero__chip { font-size: 9px; padding: 5px 8px; }
  .hs .cb-hero__line-card { padding: 20px 18px; margin-top: 23px; border-radius: 16px; }
  .hs .cb-hero__line-card-title { font-size: 14px; }
  .hs .cb-hero__line-card-note { font-size: 10px; }
  .hs .cb-hero__line-btn { font-size: 15px; padding: 15px 12px; }
  .hs .cb-hero__cv-btn { font-size: 12px; }
  .hs .cb-hero__int-pills { gap: 14px; }
  .hs .cb-hero__int-pill { font-size: 10px; gap: 5px; }
  .hs .cb-hero__int-pill img { width: 29px; height: 29px; }
  .hs .cb-hero__int-label { font-size: 9px; }
  .hs .cb-marquee { padding-block: 10px 26px; margin-top: 24px; }
  .hs .cb-marquee__item { font-size: 39px; }
  .hs .cb-marquee__item span:first-child { padding-inline: 20px; }
  .hs .cb-day__cards { gap: 24px 14px; margin-top: 30px; }
  .hs .cb-day__imgwrap { border-radius: 12px; }
  .hs .cb-day__imgwrap img { height: 195px; }
  .hs .cb-day__cap { font-size: 12px; text-align: left; margin-top: 11px; }
  .hs .cb-day__time { font-size: 17px; padding: 3px 10px; left: 9px; top: 9px; }
  .hs .cb-day__stats { display: grid; grid-template-columns: 1fr; margin-top: 29px; padding: 0 20px; }
  .hs .cb-day__stat { display: grid; grid-template-columns: 105px 1fr; gap: 17px; text-align: left; align-items: center; border: 0; border-bottom: 1px solid #cee1f0; padding: 20px 0; }
  .hs .cb-day__stat:last-child { border-bottom: 0; }
  .hs .cb-day__stat b { font-size: 17px; }
  .hs .cb-day__stat span { font-size: 12px; margin: 0; }
  .hs .cb-day__cta { font-size: 12px; padding: 17px 21px; }
  .hs .cb-facts__lead { font-size: 14px; margin-top: 20px; }
  .hs [data-section="about"] > .cb-inner { gap: 32px; }
  .hs .cb-cv { padding: 28px 23px; border-radius: 18px; }
  .hs .cb-cv__script { font-size: 30px; }
  .hs .cb-cv__title { font-size: 22px; }
  .hs .cb-cv__item { padding-block: 17px; gap: 10px; }
  .hs .cb-cv__text { font-size: 14px; }
  .hs .cb-cv__btns { grid-template-columns: 1fr; }
  .hs .cb-cv__btn { font-size: 14px; }
  .hs .cb-cv__note { font-size: 11px; }
  .hs .cb-q3__grid { grid-template-columns: minmax(0,1fr); gap: 37px; margin-top: 33px; }
  .hs .cb-q3__item { padding: 22px 18px; }
  .hs .cb-q3__q b { font-size: 17px; }
  .hs .cb-q3__q { min-width: 0; overflow-wrap: anywhere; }
  .hs .cb-q3__qno { width: 45px; height: 49px; }
  .hs .cb-q3__chat { margin-inline: 12px; }
  .hs .cb-q3__sticker { right: -9px; }
  .hs .cb-cost__grid, .hs .cb-diag__grid { gap: 22px; margin-top: 31px; }
  .hs .cb-cost__estimate, .hs .cb-cost__receipt { padding: 26px 20px; border-radius: 18px; }
  .hs .cb-cost__estimate-label { gap: 12px; margin-bottom: 17px; }
  .hs .cb-cost__estimate-label .cb-script { font-size: 30px; }
  .hs .cb-cost__estimate-label > span:last-child { font-size: 12px; }
  .hs .cb-cost__table th { padding: 12px 8px; font-size: 10px; }
  .hs .cb-cost__table th:last-child { max-width: 155px; }
  .hs .cb-cost__table td { padding: 22px 8px; font-size: 11px; }
  .hs .cb-cost__table .cb-cost__td-total { font-size: 11px; }
  .hs .hs-amount { font-size: 31px; }
  .hs .cb-cost__receipt-total .hs-amount { font-size: 40px; }
  .hs .cb-cost__receipt-row { font-size: 12px; gap: 13px; }
  .hs .cb-cost__receipt-row > b { font-size: 13px; }
  .hs .cb-cost__receipt-title { font-size: 20px; }
  .hs .cb-cost__sticker { top: 22px; right: 20px; }
  .hs .cb-cost__mini { padding: 15px 12px; }
  .hs .cb-cost__mini .hs-amount { font-size: 24px; }
  .hs .cb-cost__cta-btn { font-size: 13px; padding-inline: 17px; }
  .hs .cb-diag__card { padding: 27px 21px; border-radius: 18px; }
  .hs .cb-diag__title { font-size: 22px; }
  .hs .cb-diag__q { font-size: 14px; margin-top: 25px; }
  .hs .cb-diag__opt { padding: 10px 4px; min-height: 52px; font-size: 12px; }
  .hs .cb-diag__opts { gap: 6px; }
  .hs .cb-diag__hint { font-size: 12px; }
  .hs .cb-diag__line-btn { font-size: 14px; padding-inline: 12px; }
  .hs .cb-diag__line-btn .cb-btn__sub { font-size: 11px; }
  .hs .cb-voice { padding: 25px 22px; border-radius: 18px; }
  .hs .cb-voice__avatar { width: 58px; height: 58px; }
  .hs .cb-voice__name b { font-size: 18px; }
  .hs .cb-voice__name b > span { font-size: 11px; }
  .hs .cb-voice__text--after { font-size: 16px; }
  .hs .cb-counselor__grid { grid-template-columns: 1fr; gap: 22px; margin-top: 30px; }
  .hs .cb-counselor__card { padding: 24px; border-radius: 18px; }
  .hs .cb-counselor__head { display: grid; grid-template-columns: 44% 1fr; gap: 19px; }
  .hs .cb-counselor__avatar { height: 195px; border-radius: 12px; }
  .hs .cb-counselor__head > div:last-child { margin-top: 0; }
  .hs .cb-counselor__name { font-size: 30px; }
  .hs .cb-counselor__bio { font-size: 18px; margin-block: 20px; }
  .hs .cb-counselor__checks { gap: 8px 16px; }
  .hs .cb-counselor__check { font-size: 12px; }
  .hs .cb-counselor__link { font-size: 12px; }
  .hs .cb-check__grid { margin-top: 30px; }
  .hs .cb-check__card, .hs .cb-check__process { padding: 27px 22px; border-radius: 18px; }
  .hs .cb-check__title { font-size: 18px; }
  .hs .cb-check__item { font-size: 14px; }
  .hs .cb-check__tick { flex-shrink: 0; }
  .hs .cb-school__grid { grid-template-columns: 1fr; gap: 23px; margin-top: 33px; }
  .hs .cb-school__imgwrap img { height: 240px; }
  .hs .cb-school__body { padding: 27px; }
  .hs .cb-school__name { font-size: 26px; }
  .hs .cb-school__spec { font-size: 12px; }
  .hs .cb-fusen { padding: 18px; }
  .hs .cb-fusen__text { font-size: 14px; }
  .hs .cb-school__entries { grid-template-columns: 1fr; gap: 10px; margin-top: 24px; }
  .hs .cb-school__entry { display: flex; align-items: center; gap: 20px; padding: 20px 24px; }
  .hs .cb-school__entry span { margin: 0; width: 95px; font-size: 27px; }
  .hs .cb-school__entry b { font-size: 14px; }
  .hs .cb-step__list { display: flex; flex-direction: column; gap: 0; margin-top: 30px; }
  .hs .cb-step__item { display: flex; gap: 17px; }
  .hs .cb-step__rail { display: flex; flex-direction: column; gap: 8px; margin: 0; }
  .hs .cb-step__no { width: 43px; height: 43px; font-size: 25px; }
  .hs .cb-step__connector { width: 1px; height: auto; border-top: 0; border-left: 1px solid #d2dfef; margin: 0 0 8px; }
  .hs .cb-step__head { gap: 11px; }
  .hs .cb-step__title { font-size: 17px; }
  .hs .cb-step__text { font-size: 13px; }
  .hs .cb-step__body { padding-bottom: 33px; }
  .hs .cb-step__goal { justify-content: flex-start; padding-top: 18px; }
  .hs .cb-step__note { font-size: 12px; padding: 22px; }
  .hs [data-section="faq"] .cb-h2 { font-size: 28px !important; }
  .hs .cb-faq__q { font-size: 14px; padding: 20px; gap: 14px; }
  .hs .cb-faq__q-inner { gap: 11px; }
  .hs .cb-faq__a-inner { margin: 0 20px 22px; font-size: 14px; }
  .hs .cb-sns-top__grid { grid-template-columns: 1fr; gap: 16px; margin-top: 30px; }
  .hs .cb-sns-top__card { padding: 26px; }
  .hs .cb-sns-top__card-head { display: flex; gap: 18px; }
  .hs .cb-sns-top__badge { margin: 0; }
  .hs .cb-final { padding: 64px 24px 70px; }
  .hs .cb-final__script { font-size: 45px; }
  .hs .cb-final__h2 { font-size: 28px; letter-spacing: .02em; }
  .hs .cb-final__lead { font-size: 14px; }
  .hs .cb-final__btns { grid-template-columns: 1fr; gap: 13px; margin-top: 29px; }
  .hs .cb-final__btn { font-size: 15px; padding: 19px; }
  .hs .cb-footer { padding: 40px 0 150px; }
  .hs .cb-footer__cols { grid-template-columns: 1fr 1fr; gap: 27px 22px; }
  .hs .cb-footer__col a { font-size: 12px; }
  .hs.cb-sticky-on .cb-tel-fab { bottom: 83px; left: 12px; right: auto; padding: 7px 13px; font-size: 11px; box-shadow: 0 3px 12px #163d7d0c; }
  .hs.cb-sticky-on .cb-ai-pill { bottom: 83px; right: 12px; padding: 5px 15px 5px 6px; font-size: 11px; box-shadow: 0 3px 12px #163d7d0c; }
}
@media (max-width: 359px) {
  .hs .cb-inner, .hs .cb-hero__grid { padding-inline: 18px; }
  .hs .cb-hero__photo { min-height: 348px; }
  .hs .cb-hero__slides { height: 215px; }
  .hs .cb-hero__cap { font-size: 10px; }
  .hs .cb-hero__int-pills { gap: 9px; }
  .hs .cb-hero__int-pill { font-size: 9px; }
  .hs .cb-hero__int-pill img { width: 25px; height: 25px; }
  .hs .cb-cost__table td { padding-inline: 6px; font-size: 10px; }
  .hs .hs-amount { font-size: 27px; }
  .hs .cb-counselor__head { gap: 14px; }
  .hs .cb-counselor__name { font-size: 26px; }
  .hs .cb-counselor__avatar { height: 173px; }
}
@media (prefers-reduced-motion: reduce) {
  .hs *, .hs *::before, .hs *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}

/* Match the reference component's responsive scale. */
@media (max-width: 1150px) {
  .hs .cb-reason__card { padding: 27px 25px; min-height: 480px; }
  .hs .cb-reason__title, .hs .hm-promise .hm-catch { font-size: 25px; }
  .hs .hs-reason--expert { padding-bottom: 220px; }
  .hs .hs-reason-photo { height: 215px; }
  .hs .hm-number strong { font-size: 92px; }
  .hs .hm-free strong { font-size: 23px; }
  .hs .hm-zero strong { font-size: 112px; }
  .hs .hm-zero > span { font-size: 54px; }
}
@media (max-width: 900px) {
  .hs [data-section="reason"] > .cb-inner { padding-inline: 24px; }
  .hs .cb-reason__grid { gap: 14px; }
  .hs .cb-reason__card { padding: 22px 19px; min-height: 430px; }
  .hs .cb-reason__title, .hs .hm-promise .hm-catch { font-size: 22px; }
  .hs .cb-reason__point, .hs .hm-promise .hm-label { font-size: 10px; }
  .hs .hs-reason--expert { padding-bottom: 185px; }
  .hs .hs-reason-photo { height: 180px; }
  .hs .cb-reason__body, .hs .hm-terms, .hs .hm-promise-link { font-size: 10px; }
  .hs .hm-free { font-size: 11px; }
  .hs .hm-free strong { font-size: 20px; }
  .hs .hm-number strong { font-size: 79px; }
  .hs .hm-number > span { font-size: 16px; }
  .hs .hm-zero strong { font-size: 98px; }
  .hs .hm-zero > span { font-size: 43px; }
  .hs .hm-promise-price > p:not([class]) { font-size: 11px; }
}
@media (max-width: 640px) {
  .hs [data-section="reason"] > .cb-inner { padding-inline: 20px; }
  .hs .cb-reason__grid { grid-template-columns: 1fr; max-width: 460px; margin: 30px auto 0; gap: 20px; }
  .hs .cb-reason__card { min-height: 0; border-radius: 20px; padding: 28px 28px 25px; }
  .hs .cb-reason__title, .hs .hm-promise .hm-catch { font-size: 28px; margin: 18px 0 13px; line-height: 1.75; }
  .hs .cb-reason__point, .hs .hm-promise .hm-label { font-size: 11px; }
  .hs .cb-reason__body, .hs .hm-terms, .hs .hm-promise-link { font-size: 11px; }
  .hs .hs-reason--expert { padding-bottom: 255px; }
  .hs .hs-reason-photo { height: 245px; object-position: center; }
  .hs .hm-free { font-size: 14px; margin-top: 5px !important; }
  .hs .hm-free strong { font-size: 27px; padding: 4px 15px; margin-top: 9px; }
  .hs .hm-number { margin: 15px 0 13px; }
  .hs .hm-number strong { font-size: 105px; line-height: 1.1; }
  .hs .hm-number > span { font-size: 23px; }
  .hs .hm-promise-lesson { padding-bottom: 26px; }
  .hs .hm-zero { margin: 16px 0 10px !important; }
  .hs .hm-zero strong { font-size: 124px; }
  .hs .hm-zero > span { font-size: 63px; }
  .hs .hm-promise-price > p:not([class]) { font-size: 13px; }
  .hs .cb-reason__cta { font-size: 13px; padding: 18px 17px; }
}
@media (max-width: 360px) {
  .hs [data-section="reason"] > .cb-inner { padding-inline: 16px; }
  .hs .cb-reason__card { padding-inline: 24px; }
}
