/* Cebridge school guide: photographic and typographic finish.
 * All selectors are opt-in. Search, comparison and existing content remain in school-modern.css.
 */
.cbs-modern #cb-main { --cbs-cream:#fff9e6; --cbs-blue:var(--clear-blue); --cbs-deep:var(--clear-blue-deep); --cbs-sky:#e0f0fb; }
.cbs-modern #cb-main .cbs-script { font-size:36px!important; color:var(--cbs-blue); font-weight:600; }
.cbs-modern #cb-main .cb-script { font-size:38px!important; font-weight:600; }
.cbs-modern #cb-main .cbs-small { color:#566579; }
.cbs-modern #cb-main .cb-sec[id] { scroll-margin-top:180px!important; }
.cbs-modern #cb-main .cb-feeband::before { content:none; }
.cbs-modern #cb-main .cb-anchor-sticky a { box-shadow:none; border-color:transparent; border-radius:8px; }
.cbs-modern #cb-main .cbs-button { min-height:56px; padding:16px 28px; }
.cbs-modern #cb-main .cbs-text-link { text-underline-offset:6px; }
.cbs-modern #cb-main :is(.cbs-button,.cbs-text-link,.cbs-area-links a) { transition:background-color .2s,color .2s; }
/* Opening spread. Real campuses, kept as photographs rather than generic shapes. */
.cbs-modern #cb-main .cbs-list-hero { padding:70px 0 38px; overflow:hidden; }
.cbs-modern #cb-main .cbs-list-hero__grid { grid-template-columns:1fr 1.1fr; gap:44px; }
.cbs-modern #cb-main .cbs-list-hero h1 { color:var(--cbs-deep); font-size:14px; margin:24px 0 16px; }
.cbs-modern #cb-main .cbs-list-hero h2 { font-size:clamp(34px,4.3vw,55px); line-height:1.5; letter-spacing:-.045em; }
.cbs-modern #cb-main .cbs-list-hero__lead { line-height:2.15; margin-block:28px; }
.cbs-modern #cb-main .cbs-list-hero__visual { display:block; height:470px; isolation:isolate; }
.cbs-modern #cb-main .cbs-list-hero__visual::before { content:""; position:absolute; z-index:-1; inset:45px -85px 35px 28px; background:#eef6fb; border-radius:52% 48% 46% 54% / 44% 52% 48% 56%; }
.cbs-modern #cb-main .cbs-visual-title { position:absolute; top:-9px; right:18px; font:600 34px/1.2 'Caveat',cursive; color:var(--cbs-deep); transform:rotate(5deg); }
.cbs-modern #cb-main .cbs-list-photo { position:absolute; width:76%; top:42px; right:0; padding:9px 9px 0; background:#fff; border-radius:22px; transform:rotate(3deg); }
.cbs-modern #cb-main .cbs-list-photo img { height:282px; border-radius:15px; object-fit:cover; }
.cbs-modern #cb-main .cbs-list-photo figcaption { font:700 13px/1.6 'Zen Maru Gothic',sans-serif; color:var(--cbs-deep); text-align:right; padding:8px 7px 10px; margin:0; }
.cbs-modern #cb-main .cbs-list-photo--1 figcaption { text-align:left; }
.cbs-modern #cb-main .cbs-list-photo--1 { width:49%; right:auto; left:0; top:230px; margin:0; transform:rotate(-5deg); z-index:1; }
.cbs-modern #cb-main .cbs-list-photo--1 img { height:169px; border-radius:15px; }
.cbs-modern #cb-main .cbs-hero-palm { position:absolute; width:105px; height:140px; object-fit:contain; right:-25px; bottom:56px; transform:rotate(8deg); }
.cbs-modern #cb-main .cbs-list-hero__visual>.cbs-script { position:absolute; bottom:0; right:0; width:53%; font-size:29px!important; text-align:center; transform:rotate(-4deg); }
.cbs-modern #cb-main .cbs-steps { gap:16px; font-size:12px; margin-top:28px; }
.cbs-modern #cb-main .cbs-steps span { display:inline-flex; align-items:center; gap:6px; }
.cbs-modern #cb-main .cbs-steps b { display:grid; place-items:center; background:var(--cbs-cream); border-radius:50%; width:25px; height:25px; font:600 16px 'Caveat',cursive; margin:0; }
.cbs-modern #cb-main .cbs-area-links { margin-top:58px; padding-top:28px; border-top:1px solid #d7e2ed; }
.cbs-modern #cb-main .cbs-area-links>span { color:var(--cbs-deep); font-weight:700; }
.cbs-modern #cb-main .cbs-area-links a { border-color:transparent; background:#f1f6fb; padding:8px 19px; }
.cbs-modern #cb-main .cbs-area-links [aria-current],.cbs-modern #cb-main .cbs-area-links a:hover { background:var(--cbs-deep); color:#fff; }
/* One cohesive search panel. The illustration explains comparison, not decoration. */
.cbs-modern #cb-main .cbs-finder { border:0; border-radius:32px; padding:36px 42px 32px; margin-bottom:54px; }
.cbs-modern #cb-main .cbs-finder__head { align-items:center; margin-bottom:28px; }
.cbs-modern #cb-main .cbs-finder__head .cbs-script { position:relative; display:inline-block; padding-right:86px; margin-bottom:13px; }
.cbs-modern #cb-main .cbs-finder__head img { position:absolute; right:0; top:50%; width:64px; height:64px; transform:translateY(-50%) rotate(4deg); }
.cbs-modern #cb-main .cbs-finder__head :is(h2,p):where(:not(.cb-h2-label)):where(h2,.cb-h2-display) { font-size:33px; letter-spacing:-.03em; }
.cbs-modern #cb-main .cbs-filter-form label>span { font-size:14px; }
.cbs-modern #cb-main .cbs-filter-form :is(input,select) { background:#f7fafc; border-color:#cfdae5; border-radius:11px; height:53px; }
.cbs-modern #cb-main .cbs-filter-bottom { padding-top:24px; border-top:1px solid #e3eaf1; margin-top:25px; }
.cbs-modern #cb-main .cbs-results-heading :is(h2,p):where(:not(.cb-h2-label)):where(h2,.cb-h2-display) { font-size:22px; }
.cbs-modern #cb-main .cbs-results-heading :is(h2,p):where(:not(.cb-h2-label)):where(h2,.cb-h2-display) strong { font-size:49px; margin-right:5px; }
/* School cards are small school introductions, with a readable price and useful details. */
.cbs-modern #cb-main .cbs-school-grid { gap:38px 26px; }
.cbs-modern #cb-main .cbs-card { border:0; border-radius:25px; padding:9px 9px 0; }
.cbs-modern #cb-main .cbs-card__photo { border-radius:18px; aspect-ratio:1.44; }
.cbs-modern #cb-main .cbs-card__area { left:15px; bottom:15px; padding:4px 14px; font-weight:700; }
.cbs-modern #cb-main .cbs-card__body { padding:23px 17px 21px; }
.cbs-modern #cb-main .cbs-card h3 { font-size:27px; margin-bottom:5px; line-height:1.35; }
.cbs-modern #cb-main .cbs-card h3 a:hover { text-decoration:underline; text-underline-offset:5px; }
.cbs-modern #cb-main .cbs-card__subtitle { color:#5b6c82; font-size:11px; line-height:1.7; margin:3px 0 14px; }
.cbs-modern #cb-main .cbs-card__desc { font-size:14px; color:#334b69; line-height:1.9; margin-top:10px; margin-bottom:20px; }
.cbs-modern #cb-main .cbs-card__facts { margin-bottom:15px; }
.cbs-modern #cb-main .cbs-card__facts>div { padding-block:12px; }
.cbs-modern #cb-main .cbs-card__facts>div:first-child { display:block; background:var(--cbs-cream); border:0; border-radius:12px; padding:14px 16px; margin-bottom:14px; }
.cbs-modern #cb-main .cbs-card__facts>div:first-child dt { color:#596274; font-size:11px; margin-bottom:4px; }
.cbs-modern #cb-main .cbs-card__facts>div:first-child dd { font-size:20px; line-height:1.65; }
.cbs-modern #cb-main .cbs-card__facts>div:nth-child(2) { border-top:0; }
.cbs-modern #cb-main .cbs-card__goals { font-size:12px; line-height:1.8; }
.cbs-modern #cb-main .cbs-card__goals>span { display:block; color:var(--cbs-deep); font-size:11px; font-weight:700; margin-bottom:5px; }
.cbs-modern #cb-main .cbs-card__actions { row-gap:8px; }
.cbs-modern #cb-main .cbs-card__actions>.cbs-text-link { font-size:14px; }
.cbs-modern #cb-main .cbs-card__actions .cbs-compare-check { font-size:11px; }
/* Reading rhythm: useful illustration, quiet grouping, and the brand's original waves. */
.cbs-modern #cb-main .cb-schsec-head { margin-bottom:42px!important; }
.cbs-modern #cb-main .cb-schsec-head h2 { font-size:clamp(27px,3.1vw,39px); line-height:1.6; }
.cbs-modern #cb-main .cb-schsec-head .cb-script { margin-bottom:13px; }
.cbs-modern #cb-main .cb-schsec-head>p:not(.cb-script) { font-size:14px; line-height:2; color:#5b6c82; }
.cbs-modern #cb-main .cb-sch-info { padding:32px 38px 34px; border:0; border-radius:26px; margin-block:26px; }
.cbs-modern #cb-main .cb-sch-info__head { display:grid; grid-template-columns:72px 1fr; column-gap:18px; row-gap:0; align-items:center; margin-bottom:22px; }
.cbs-modern #cb-main .cbs-info-icon { grid-column:1; grid-row:1/3; width:72px; height:72px; }
.cbs-modern #cb-main .cb-sch-info__no { grid-column:2; align-self:end; justify-self:start; display:block; text-align:left; font:600 22px/1.1 'Caveat',cursive; color:var(--cbs-blue); margin:0 0 6px; }
.cbs-modern #cb-main .cb-sch-info__head h3 { grid-column:2; align-self:start; font-size:25px; }
.cbs-modern #cb-main .cb-sch-info__body { font-size:16px; line-height:2.15; }
.cbs-modern #cb-main .cb-sch-content { font-size:16px; line-height:2.2; }
.cbs-modern #cb-main .cb-sch-content h3 { color:var(--cbs-deep); font-size:27px; margin-block:40px 22px; }
.cbs-modern #cb-main .cb-sch-content img { border-radius:20px; }
.cbs-modern #cb-main .cb-sch-content a { text-underline-offset:5px; }
.cbs-modern #cb-main .cb-sch-content strong { font-weight:700; color:var(--cbs-deep); }
.cbs-modern #cb-main .cb-sch-meters { border:0; padding:32px 38px; border-radius:26px; }
.cbs-modern #cb-main .cb-sch-meters__row { padding-block:10px; }
.cbs-modern #cb-main .cb-sch-meters__step.is-on i { background:var(--clear-yellow); border:3px solid var(--clear-blue); box-shadow:none; }
.cbs-modern #cb-main .cb-sch-meters__step.is-on em { color:var(--clear-blue-deep); font-weight:700; }
.cbs-modern #cb-main .cb-sch-table { border:1px solid #d9e4ef; border-radius:18px; }
.cbs-modern #cb-main .cb-sch-table th { background:#f1f6fc; color:var(--cbs-deep); padding:18px 22px; }
.cbs-modern #cb-main .cb-sch-table td { padding:18px 24px; line-height:1.95; }
.cbs-modern #cb-main .cb-course { border:1px solid #d9e4ef; }
.cbs-modern #cb-main .cb-course summary { background:#f4f8fc; padding:23px 26px; }
.cbs-modern #cb-main .cb-course[open] summary { background:#edf4fd; }
.cbs-modern #cb-main .cb-course summary h3 { font-size:20px; }
.cbs-modern #cb-main .cb-gallery-label { font-size:23px; color:var(--cbs-deep); margin:45px 0 22px; }
.cbs-modern #cb-main .gallery_subtitle { color:#5b6c82; font-size:14px; }
.cbs-modern #cb-main .school-gallery-group { margin-bottom:40px; }
.cbs-modern #cb-main .cbs-life-preview { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px; margin:0 0 34px; }
.cbs-modern #cb-main .cbs-life-preview figure { margin:0; min-width:0; }
.cbs-modern #cb-main .cbs-life-preview img { width:100%; height:220px; object-fit:cover; border-radius:20px; }
.cbs-modern #cb-main .cbs-life-preview figcaption { display:flex; flex-wrap:wrap; gap:3px 12px; align-items:baseline; margin-top:12px; color:var(--cbs-deep); font-size:14px; }
.cbs-modern #cb-main .cbs-life-preview figcaption span { font-size:12px; color:#5b6c82; }
.cbs-modern #cb-main .cbs-consult__grid { display:grid; grid-template-columns:.9fr 1.1fr; gap:58px; align-items:center; }
.cbs-modern #cb-main .cbs-consult__photo { margin:0; min-width:0; }
.cbs-modern #cb-main .cbs-consult__photo img { width:100%; aspect-ratio:1.2; object-fit:cover; object-position:60% center; border-radius:26px; }
.cbs-modern #cb-main .cbs-consult__photo figcaption { margin-top:22px; color:#fff; }
.cbs-modern #cb-main .cbs-consult__photo .cbs-script { color:var(--clear-yellow); font-size:30px!important; display:block; margin-bottom:10px; }
.cbs-modern #cb-main .cbs-consult__photo figcaption>span:last-child { font-size:12px; }
.cbs-modern #cb-main .cbs-consult__copy { min-width:0; }
.cbs-modern #cb-main .cbs-consult__copy>p:not(.cb-script) { max-width:none!important; margin:22px 0 0!important; }
.cbs-modern #cb-main .cbs-consult__copy>h2 { font-size:clamp(25px,2.5vw,34px)!important; }
.cbs-modern #cb-main .cbs-consult__copy>div { margin-left:0!important; margin-right:0!important; }
.cbs-modern #cb-main .cbs-consult__copy>div>a { min-height:55px; }
.cbs-modern #cb-main .cbs-compare-end { background:var(--cbs-sky); padding:0 20px 58px; }
.cbs-modern #cb-main .cbs-compare-end>.cbs-compare-tray:not(.has-selection) { margin:0 auto; }
.cbs-modern #cb-main .cbs-discovery-cta { position:relative; }
.cbs-modern #cb-main .cbs-cta-illustration { width:100px; height:100px; margin:0 auto 15px; display:block; }
.cbs-modern #cb-main .cbs-discovery-cta .cb-script { transform-origin:center; color:var(--clear-yellow); }
.cbs-modern #cb-main .cb-sec--bluegrad { background:#2a5fb5; }
@media(min-width:1051px) {
 .cbs-modern #cb-main #school_info>div:last-child { max-width:880px!important; }
 .cbs-modern #cb-main .cb-sch-info__body { padding-left:90px; }
}
@media(max-width:1050px) {
 .cbs-modern #cb-main .cbs-list-hero__grid { gap:28px; }
 .cbs-modern #cb-main .cbs-list-hero h2 { font-size:40px; }
 .cbs-modern #cb-main .cbs-list-hero__visual { height:415px; }
 .cbs-modern #cb-main .cbs-list-photo { width:83%; }
 .cbs-modern #cb-main .cbs-list-photo img { height:238px; }
 .cbs-modern #cb-main .cbs-list-photo--1 { width:55%; top:229px; }
 .cbs-modern #cb-main .cbs-list-photo--1 img { height:135px; }
 .cbs-modern #cb-main .cbs-hero-palm { width:72px; height:105px; bottom:70px; right:-23px; }
 .cbs-modern #cb-main .cbs-consult__grid { gap:30px; }
 .cbs-modern #cb-main .cbs-list-hero__visual>.cbs-script { font-size:23px!important; width:48%; bottom:0; }
}
@media(max-width:767px) {
 .cbs-modern #cb-main .cbs-script { font-size:31px!important; }
 .cbs-modern #cb-main .cb-script { font-size:32px!important; }
 .cbs-modern #cb-main .cbs-list-hero { padding:32px 0 25px; }
 .cbs-modern #cb-main .cbs-list-hero__grid { grid-template-columns:1fr; gap:35px; }
 .cbs-modern #cb-main .cbs-list-hero h1 { margin:18px 0 12px; font-size:12px; }
 .cbs-modern #cb-main .cbs-list-hero h2 { font-size:clamp(32px,8.5vw,46px); line-height:1.5; }
 .cbs-modern #cb-main .cbs-list-hero__lead { margin:22px 0; font-size:14px; }
 .cbs-modern #cb-main .cbs-list-hero__visual { height:350px; max-width:430px; }
 .cbs-modern #cb-main .cbs-list-hero__visual::before { inset:30px -28px 15px 8px; }
 .cbs-modern #cb-main .cbs-visual-title { top:-4px; right:9px; font-size:27px; }
 .cbs-modern #cb-main .cbs-list-photo { top:36px; width:80%; padding:7px 7px 0; border-radius:18px; }
 .cbs-modern #cb-main .cbs-list-photo img { height:208px; border-radius:12px; }
 .cbs-modern #cb-main .cbs-list-photo figcaption { font-size:10px; padding:5px 4px 7px; }
 .cbs-modern #cb-main .cbs-list-photo--1 { top:187px; width:50%; }
 .cbs-modern #cb-main .cbs-list-photo--1 img { height:127px; }
 .cbs-modern #cb-main .cbs-hero-palm { right:-22px; bottom:69px; width:63px; height:92px; }
 .cbs-modern #cb-main .cbs-list-hero__visual>.cbs-script { font-size:23px!important; width:53%; bottom:1px; }
 .cbs-modern #cb-main .cbs-steps { gap:12px; font-size:11px; margin-top:23px; }
 .cbs-modern #cb-main .cbs-area-links { margin-top:32px; padding-top:23px; gap:8px; }
 .cbs-modern #cb-main .cbs-area-links>span { width:100%; font-size:13px; }
 .cbs-modern #cb-main .cbs-area-links a { padding:6px 15px; }
 .cbs-modern #cb-main .cbs-finder { padding:27px 21px; border-radius:24px; margin-bottom:35px; }
 .cbs-modern #cb-main .cbs-finder__head .cbs-script { font-size:29px!important; padding-right:62px; margin-bottom:15px; }
 .cbs-modern #cb-main .cbs-finder__head img { width:48px; height:48px; }
 .cbs-modern #cb-main .cbs-finder__head :is(h2,p):where(:not(.cb-h2-label)):where(h2,.cb-h2-display) { font-size:25px; }
 .cbs-modern #cb-main .cbs-filter-form label>span { font-size:12px; }
 .cbs-modern #cb-main .cbs-filter-bottom { padding-top:19px; margin-top:21px; }
 .cbs-modern #cb-main .cbs-filter-grid { gap:17px 11px; }
 .cbs-modern #cb-main .cbs-results-heading :is(h2,p):where(:not(.cb-h2-label)):where(h2,.cb-h2-display) { font-size:20px; }
 .cbs-modern #cb-main .cbs-results-heading :is(h2,p):where(:not(.cb-h2-label)):where(h2,.cb-h2-display) strong { font-size:44px; }
 .cbs-modern #cb-main .cbs-school-grid { gap:27px; }
 .cbs-modern #cb-main .cbs-card { padding:8px 8px 0; }
 .cbs-modern #cb-main .cbs-card__photo { aspect-ratio:1.5; }
 .cbs-modern #cb-main .cbs-card__body { padding:23px 17px; }
 .cbs-modern #cb-main .cbs-card h3 { font-size:27px; }
 .cbs-modern #cb-main .cbs-card__facts>div:first-child dd { font-size:22px; }
 .cbs-modern #cb-main .cb-anchor-pills { gap:8px; margin-top:24px!important; }
 .cbs-modern #cb-main .cb-anchor-pills a { padding:7px 10px; font-size:12px; }
 .cbs-modern #cb-main .cb-schsec-head { margin-bottom:30px!important; }
 .cbs-modern #cb-main .cb-sch-info { padding:25px 23px; border-radius:22px; }
 .cbs-modern #cb-main .cb-sch-info__head { grid-template-columns:60px 1fr; gap:0 13px; margin-bottom:20px; }
 .cbs-modern #cb-main .cbs-info-icon { width:60px; height:60px; }
 .cbs-modern #cb-main .cb-sch-info__head h3 { font-size:23px; }
 .cbs-modern #cb-main .cb-sch-info__body,.cbs-modern #cb-main .cb-sch-content { font-size:15px; line-height:2.1; }
 .cbs-modern #cb-main .cb-sch-content h3 { font-size:24px; }
 .cbs-modern #cb-main .cb-sch-meters { padding:24px 17px; }
 .cbs-modern #cb-main .cb-sch-table th { padding:14px 17px; }
 .cbs-modern #cb-main .cb-sch-table td { padding:14px 18px; }
 .cbs-modern #cb-main .cb-course summary { padding:20px; }
 .cbs-modern #cb-main .cb-course summary h3 { font-size:18px; }
 .cbs-modern #cb-main .cbs-life-preview { gap:14px; margin-bottom:25px; }
 .cbs-modern #cb-main .cbs-life-preview img { height:155px; border-radius:14px; }
 .cbs-modern #cb-main .cbs-life-preview figcaption { font-size:13px; }
 .cbs-modern #cb-main .cbs-life-preview figcaption span { font-size:11px; }
 .cbs-modern #cb-main .cbs-consult__grid { grid-template-columns:1fr; gap:33px; width:100%; }
 .cbs-modern #cb-main .cbs-consult__photo img { aspect-ratio:1.55; border-radius:20px; }
 .cbs-modern #cb-main .cbs-consult__photo .cbs-script { font-size:28px!important; }
 .cbs-modern #cb-main .cbs-consult__copy>h2 { font-size:26px!important; }
}
@media(max-width:360px) {
 .cbs-modern #cb-main .cbs-list-hero__visual { height:315px; }
 .cbs-modern #cb-main .cbs-list-photo img { height:179px; }
 .cbs-modern #cb-main .cbs-list-photo--1 { top:170px; width:52%; }
 .cbs-modern #cb-main .cbs-list-photo--1 img { height:109px; }
 .cbs-modern #cb-main .cbs-list-hero__visual>.cbs-script { font-size:20px!important; width:46%; }
 .cbs-modern #cb-main .cbs-hero-palm { width:55px; height:80px; bottom:57px; }
 .cbs-modern #cb-main .cbs-finder__head .cbs-script { font-size:26px!important; padding-right:51px; }
 .cbs-modern #cb-main .cbs-finder__head img { width:41px; height:41px; }
 .cbs-modern #cb-main .cbs-finder__head :is(h2,p):where(:not(.cb-h2-label)):where(h2,.cb-h2-display) { font-size:22px; }
}
/* School identity. Photographs and the school's own copy lead every detail page. */
.cbs-modern #cb-main .cbs-school-cover { padding:23px 0 36px; background:#fff; text-align:left; }
.cbs-modern #cb-main .cbs-cover-wrap { width:min(1360px,calc(100% - 64px)); margin:auto; }
.cbs-modern #cb-main .cbs-cover-topline { display:flex; justify-content:space-between; align-items:center; gap:24px; margin-bottom:19px; }
.cbs-modern #cb-main .cbs-cover-topline .cb-crumbs { margin:0; font-size:11px; }
.cbs-modern #cb-main .cbs-cover-topline .cbs-compare-check { min-height:25px; }
.cbs-modern #cb-main .cbs-cover-scene { display:grid; grid-template-columns:minmax(0,2.15fr) minmax(0,1fr); grid-template-rows:minmax(0,1fr); gap:9px; height:clamp(410px,42vw,580px); border-radius:30px; overflow:hidden; }
.cbs-modern #cb-main .cbs-cover-main { position:relative; margin:0; min-width:0; min-height:0; height:100%; background:var(--clear-blue-deep); }
.cbs-modern #cb-main .cbs-cover-image { display:block; height:100%; }
.cbs-modern #cb-main .cbs-cover-img { display:block; width:100%; height:100%; object-fit:cover; }
.cbs-modern #cb-main .cbs-cover-main::after { content:''; position:absolute; pointer-events:none; inset:25% 0 0; background:linear-gradient(transparent 0%,rgba(13,39,69,.12) 35%,rgba(9,34,64,.82) 100%); }
.cbs-modern #cb-main .cbs-cover-main figcaption { position:absolute; z-index:1; left:40px; bottom:32px; right:34px; color:#fff; pointer-events:none; }
.cbs-modern #cb-main .cbs-cover-location { font-size:14px; font-weight:700; margin:0 0 11px; color:#fff; }
.cbs-modern #cb-main .cbs-cover-location>span { font-weight:400; font-size:12px; }
.cbs-modern #cb-main .cbs-cover-main h1 { color:#fff; font-size:clamp(40px,5.5vw,76px); letter-spacing:-.045em; line-height:1.15; margin:0; text-wrap:balance; text-align:left; }
.cbs-modern #cb-main .cbs-cover-subtitle { font-size:13px; margin:13px 0 0; line-height:1.7; color:#fff; }
.cbs-modern #cb-main .cbs-cover-scenes { display:grid; grid-auto-rows:minmax(0,1fr); gap:9px; min-width:0; min-height:0; }
.cbs-modern #cb-main .cbs-cover-scenes figure { margin:0; min-height:0; }
.cbs-modern #cb-main .cbs-cover-scenes a { display:block; width:100%; height:100%; position:relative; overflow:hidden; }
.cbs-modern #cb-main .cbs-cover-scenes img { display:block; width:100%; height:100%; object-fit:cover; transition:transform .4s; }
.cbs-modern #cb-main .cbs-cover-scenes a:hover img { transform:scale(1.035); }
.cbs-modern #cb-main .cbs-cover-scenes a>span { position:absolute; left:17px; bottom:15px; padding:5px 11px; font-size:12px; line-height:1.6; border-radius:6px; background:rgba(255,255,255,.95); color:var(--clear-blue-deep); font-weight:700; }
.cbs-modern #cb-main .cbs-cover-scene--single { grid-template-columns:1fr; }
.cbs-modern #cb-main .cbs-cover-scene--empty { height:320px; }
.cbs-modern #cb-main .cbs-cover-caption { display:flex; justify-content:space-between; align-items:center; gap:20px; margin:18px 9px 0; }
.cbs-modern #cb-main .cbs-cover-caption .cbs-script { margin:0; font-size:29px!important; }
.cbs-modern #cb-main .cbs-cover-caption .cbs-text-link { font-size:12px; }
.cbs-modern #cb-main .cbs-school-introduction { display:grid; grid-template-columns:1.3fr 1fr; gap:70px; padding-block:52px 38px; align-items:center; }
.cbs-modern #cb-main .cbs-school-catch { font-size:clamp(22px,2.35vw,31px); font-weight:700; line-height:1.8; letter-spacing:.035em; word-break:keep-all; overflow-wrap:anywhere; color:var(--cbs-ink); text-wrap:pretty; margin:0 0 25px; }
/* A pair of light Japanese corner brackets frames the school's introduction. */
.cbs-modern #cb-main .cbs-school-catch { position:relative; padding:14px 28px; }
.cbs-modern #cb-main .cbs-school-catch::before,.cbs-modern #cb-main .cbs-school-catch::after { content:''; position:absolute; width:20px; height:29px; border:solid var(--clear-blue); pointer-events:none; }
.cbs-modern #cb-main .cbs-school-catch::before { top:0; left:0; border-width:2px 0 0 2px; border-top-left-radius:3px; }
.cbs-modern #cb-main .cbs-school-catch::after { right:0; bottom:0; border-width:0 2px 2px 0; border-bottom-right-radius:3px; }
.cbs-modern #cb-main .cbs-school-introduction__copy>.cbs-text-link { font-size:14px; margin-left:28px; }
.cbs-modern #cb-main .cbs-enquiry { padding-left:35px; border-left:1px solid #dce5ef; }
.cbs-modern #cb-main .cbs-enquiry__price { color:var(--clear-blue-deep); padding:17px 22px 15px; background:#f1f6fc; border-radius:18px; }
.cbs-modern #cb-main .cbs-enquiry__price>span { display:block; font-size:12px; font-weight:700; letter-spacing:.06em; color:#4d6078; }
.cbs-modern #cb-main .cbs-enquiry__price>strong { font-size:44px; letter-spacing:-.025em; line-height:1.35; display:block; }
.cbs-modern #cb-main .cbs-enquiry__amount { white-space:nowrap; }
.cbs-modern #cb-main .cbs-enquiry__currency { font-size:1em; letter-spacing:0; }
.cbs-modern #cb-main .cbs-enquiry__number { font-size:1.4em; letter-spacing:-.025em; }
.cbs-modern #cb-main .cbs-enquiry__from { font-size:.8em; letter-spacing:0; }
.cbs-modern #cb-main .cbs-enquiry>p { font-size:11px; color:#536780; line-height:1.8; margin:8px 0 4px; }
.cbs-modern #cb-main .cbs-enquiry>.cbs-text-link { font-size:12px; }
.cbs-modern #cb-main .cbs-enquiry__actions { display:flex; flex-direction:column; align-items:start; gap:7px; margin-top:18px; }
.cbs-modern #cb-main .cbs-enquiry__actions>.cbs-button { background:var(--clear-yellow); color:var(--clear-blue-deep); min-height:52px; width:100%; padding:14px 20px; font-size:14px; }
.cbs-modern #cb-main .cbs-enquiry__actions>.cbs-button:hover { background:#f9cc20; }
.cbs-modern #cb-main .cbs-enquiry__actions>.cbs-text-link { font-size:13px; }
/* LINE question link: 44px tap height without moving the text (the negative margin cancels the added padding). */
.cbs-modern #cb-main .cbs-enquiry__actions>.cbs-text-link:has(.cb-line-badge) { padding-block:calc((44px - 1.7em) / 2); margin-block:calc((1.7em + 10px - 44px) / 2); }
.cbs-modern #cb-main .cbs-enquiry__actions .cb-line-badge { background:var(--cb-line,#06c755); color:#fff; margin-right:5px; }
.cbs-modern #cb-main .cbs-school-cover .cb-anchor-pills { border-top:1px solid #dce5ef; margin-top:0!important; padding-top:22px; gap:10px; }
.cbs-modern #cb-main .cbs-school-cover .cb-anchor-pills a { background:none; border:0; box-shadow:none; border-radius:0; padding:6px 10px; font-size:13px; text-decoration:none; }
.cbs-modern #cb-main .cbs-school-cover .cb-anchor-pills a:hover { background:#edf4fb; }
/* Promote the school's authored recommendations and video, rather than a repeated generic guide. */
.cbs-modern #cb-main .cbs-feature-story>.cbs-wrap,.cbs-modern #cb-main .cbs-school-profile>.cbs-wrap { width:min(1160px,100%); }
.cbs-modern #cb-main .cbs-feature-story .cb-schsec-head { text-align:left; margin-bottom:38px!important; }
.cbs-modern #cb-main .cbs-feature-story .cb-script { transform-origin:left; font-size:34px!important; }
.cbs-modern #cb-main .cbs-report-copy { padding:0; background:none; border-radius:0; box-shadow:none; text-align:left; }
.cbs-modern #cb-main .cbs-report-copy .wp-block-columns { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:52px!important; align-items:center; }
.cbs-modern #cb-main .cbs-report-copy .wp-block-column { min-width:0; }
.cbs-modern #cb-main .cbs-report-copy ul.is-style-sme-list-check { display:block; padding:0; list-style:none; margin-top:18px; }
.cbs-modern #cb-main .cbs-report-copy ul.is-style-sme-list-check li { padding:19px 0 19px 30px; margin:0; border-bottom:1px solid #bed3e8; font-size:20px; line-height:1.8; }
.cbs-modern #cb-main .cbs-report-copy ul.is-style-sme-list-check li:first-child { padding-top:6px; }
.cbs-modern #cb-main .cbs-report-copy ul.is-style-sme-list-check li::before { left:2px; top:31px; width:10px; height:7px; border-color:var(--clear-blue); }
.cbs-modern #cb-main .cbs-report-copy ul.is-style-sme-list-check li:first-child::before { top:18px; }
.cbs-modern #cb-main .cbs-report-copy hr { border-color:#bed3e8; }
.cbs-modern #cb-main .cbs-report-copy .yt-facade { border-radius:24px; overflow:hidden; box-shadow:none; }
.cbs-modern #cb-main .cbs-report-copy .yt-facade img { border-radius:0; }
.cbs-modern #cb-main .cbs-report-copy .wp-block-embed { margin:0; }
.cbs-modern #cb-main .cbs-profile-heading { display:flex; align-items:end; justify-content:space-between; gap:30px; margin-bottom:40px; }
.cbs-modern #cb-main .cbs-profile-heading :is(h2,p):where(:not(.cb-h2-label)):where(h2,.cb-h2-display) { font-size:clamp(26px,3vw,38px); color:var(--clear-blue-deep); line-height:1.6; margin:0; letter-spacing:-.025em; }
.cbs-modern #cb-main .cbs-profile-heading .cbs-script { font-size:33px!important; margin-bottom:14px; }
.cbs-modern #cb-main .cbs-profile-facts { display:grid; grid-template-columns:1.15fr 1fr 1fr; padding:0; margin:0; gap:30px; }
.cbs-modern #cb-main .cbs-profile-fact { padding:26px 30px 24px; background:#f0f6fc; border-radius:22px; min-width:0; }
.cbs-modern #cb-main .cbs-profile-fact dt { font-size:13px; font-weight:700; color:#536780; margin:0 0 16px; }
.cbs-modern #cb-main .cbs-profile-fact dd { margin:0; display:flex; flex-direction:column; align-items:start; gap:16px; }
.cbs-modern #cb-main .cbs-profile-fact strong { color:var(--clear-blue-deep); font-size:35px; line-height:1.5; letter-spacing:-.035em; overflow-wrap:anywhere; }
.cbs-modern #cb-main .cbs-profile-fact--rules strong { font-size:28px; }
.cbs-modern #cb-main .cbs-profile-fact--ratio { background:#fff8df; }
.cbs-modern #cb-main .cbs-profile-fact--ratio strong { font-size:42px; }
.cbs-modern #cb-main .cbs-profile-fact dd>span { font-size:12px; line-height:1.8; color:#536780; }
.cbs-modern #cb-main .cbs-profile-fact a { color:var(--clear-blue-deep); font-size:12px; font-weight:700; line-height:1.8; }
.cbs-modern #cb-main .cbs-profile-fact a:hover { text-decoration:underline; text-underline-offset:5px; }
.cbs-modern #cb-main .cbs-profile-facts+.cbs-small { font-size:12px; margin-top:22px; }
@media(max-width:1050px) {
 .cbs-modern #cb-main .cbs-cover-wrap { width:calc(100% - 40px); }
 .cbs-modern #cb-main .cbs-cover-scene { height:440px; grid-template-columns:1.85fr 1fr; }
 .cbs-modern #cb-main .cbs-cover-main figcaption { left:28px; bottom:27px; right:24px; }
 .cbs-modern #cb-main .cbs-cover-main h1 { font-size:51px; }
 .cbs-modern #cb-main .cbs-school-introduction { gap:35px; grid-template-columns:1.2fr 1fr; padding-top:40px; }
 .cbs-modern #cb-main .cbs-enquiry { padding-left:26px; }
 .cbs-modern #cb-main .cbs-school-catch { font-size:24px; line-height:1.8; }
 .cbs-modern #cb-main .cbs-enquiry__price>strong { font-size:39px; }
 .cbs-modern #cb-main .cbs-report-copy .wp-block-columns { gap:30px!important; }
 .cbs-modern #cb-main .cbs-report-copy ul.is-style-sme-list-check li { font-size:17px; }
 .cbs-modern #cb-main .cbs-profile-facts { gap:17px; }
 .cbs-modern #cb-main .cbs-profile-fact { padding:24px 21px; }
 .cbs-modern #cb-main .cbs-profile-fact--rules strong { font-size:25px; }
 .cbs-modern #cb-main .cbs-profile-fact--ratio strong { font-size:33px; }
 .cbs-modern #cb-main .cbs-profile-fact--staff strong { font-size:30px; }
}
@media(max-width:767px) {
 .cbs-modern #cb-main .cbs-school-cover { padding-top:18px; padding-bottom:24px; }
 .cbs-modern #cb-main .cbs-cover-wrap { width:calc(100% - 28px); }
 .cbs-modern #cb-main .cbs-cover-topline { display:block; position:relative; padding-bottom:32px; margin-bottom:13px; }
 .cbs-modern #cb-main .cbs-cover-topline .cb-crumbs { font-size:10px; padding-inline:6px; }
 .cbs-modern #cb-main .cbs-cover-topline .cbs-compare-check { position:absolute; right:6px; bottom:0; font-size:11px; }
 .cbs-modern #cb-main .cbs-cover-scene { display:flex; flex-direction:column; height:auto; gap:6px; border-radius:22px; }
 .cbs-modern #cb-main .cbs-cover-main { height:375px; flex:none; }
 .cbs-modern #cb-main .cbs-cover-main figcaption { left:22px; right:20px; bottom:24px; }
 .cbs-modern #cb-main .cbs-cover-main h1 { font-size:clamp(33px,10vw,51px); line-height:1.15; }
 .cbs-modern #cb-main .cbs-cover-subtitle { font-size:11px; margin-top:10px; }
 .cbs-modern #cb-main .cbs-cover-location { font-size:12px; margin-bottom:10px; }
 .cbs-modern #cb-main .cbs-cover-location>span { font-size:10px; }
 .cbs-modern #cb-main .cbs-cover-scenes { display:flex; gap:6px; height:125px; flex:none; }
 .cbs-modern #cb-main .cbs-cover-scenes figure { flex:1; min-width:0; }
 .cbs-modern #cb-main .cbs-cover-scenes a>span { font-size:10px; padding:3px 7px; left:10px; bottom:10px; }
 .cbs-modern #cb-main .cbs-cover-caption { margin:14px 6px 0; gap:10px; }
 .cbs-modern #cb-main .cbs-cover-caption .cbs-script { font-size:23px!important; }
 .cbs-modern #cb-main .cbs-cover-caption .cbs-text-link { font-size:10px; max-width:135px; text-align:right; }
 .cbs-modern #cb-main .cbs-school-introduction { grid-template-columns:1fr; gap:28px; padding-block:34px 29px; }
 /* 角の記号は文字の外側へ。画面が狭いので、内側に余白を取ると折り返しが増える */
 .cbs-modern #cb-main .cbs-school-catch { font-size:23px; margin-bottom:19px; line-height:1.75; padding:14px 0; }
 .cbs-modern #cb-main .cbs-school-catch::before,.cbs-modern #cb-main .cbs-school-catch::after { width:15px; height:19px; }
 .cbs-modern #cb-main .cbs-school-catch::before { left:-9px; }
 .cbs-modern #cb-main .cbs-school-catch::after { right:-9px; }
 .cbs-modern #cb-main .cbs-school-introduction__copy>.cbs-text-link { margin-left:0; }
 .cbs-modern #cb-main .cbs-school-introduction__copy>.cbs-text-link { font-size:12px; }
 .cbs-modern #cb-main .cbs-enquiry { border:0; border-top:1px solid #dce5ef; padding:23px 0 0; }
 .cbs-modern #cb-main .cbs-enquiry__price { display:flex; flex-wrap:wrap; align-items:baseline; gap:2px 18px; padding:15px 18px 13px; }
 .cbs-modern #cb-main .cbs-enquiry__price>strong { font-size:40px; }
 .cbs-modern #cb-main .cbs-enquiry__actions { gap:9px; }
 .cbs-modern #cb-main .cbs-enquiry__actions>.cbs-text-link { align-self:center; font-size:12px; }
 .cbs-modern #cb-main .cbs-school-cover .cb-anchor-pills { justify-content:start; gap:5px; padding-top:19px; }
 .cbs-modern #cb-main .cbs-school-cover .cb-anchor-pills a { font-size:12px; padding:6px 9px; }
 .cbs-modern #cb-main .cbs-feature-story .cb-script { font-size:28px!important; }
 .cbs-modern #cb-main .cbs-feature-story .cb-schsec-head { margin-bottom:27px!important; }
 .cbs-modern #cb-main .cbs-report-copy .wp-block-columns { grid-template-columns:1fr; gap:30px!important; }
 .cbs-modern #cb-main .cbs-report-copy .wp-block-column { width:100%; }
 .cbs-modern #cb-main .cbs-report-copy ul.is-style-sme-list-check li { font-size:18px; padding-block:16px; }
 .cbs-modern #cb-main .cbs-report-copy ul.is-style-sme-list-check li::before { top:28px; }
 .cbs-modern #cb-main .cbs-profile-heading { display:block; margin-bottom:26px; }
 .cbs-modern #cb-main .cbs-profile-heading :is(h2,p):where(:not(.cb-h2-label)):where(h2,.cb-h2-display) { font-size:28px; }
 .cbs-modern #cb-main .cbs-profile-heading>.cbs-text-link { font-size:12px; margin-top:15px; }
 .cbs-modern #cb-main .cbs-profile-heading .cbs-script { font-size:28px!important; }
 .cbs-modern #cb-main .cbs-profile-facts { grid-template-columns:1fr 1fr; gap:12px; }
 .cbs-modern #cb-main .cbs-profile-fact { padding:23px 19px; border-radius:18px; }
 .cbs-modern #cb-main .cbs-profile-fact--rules { grid-column:1/-1; }
 .cbs-modern #cb-main .cbs-profile-fact--rules dd { flex-direction:row; align-items:center; flex-wrap:wrap; justify-content:space-between; gap:13px; }
 .cbs-modern #cb-main .cbs-profile-fact dt { font-size:12px; margin-bottom:12px; }
 .cbs-modern #cb-main .cbs-profile-fact strong { font-size:27px; }
 .cbs-modern #cb-main .cbs-profile-fact--rules strong { font-size:26px; }
 .cbs-modern #cb-main .cbs-profile-fact a { font-size:11px; }
 .cbs-modern #cb-main .cbs-profile-fact dd>span { font-size:11px; }
}
@media(max-width:360px) {
 .cbs-modern #cb-main .cbs-cover-main { height:330px; }
 .cbs-modern #cb-main .cbs-cover-scenes { height:110px; }
 .cbs-modern #cb-main .cbs-cover-caption .cbs-script { font-size:21px!important; }
 .cbs-modern #cb-main .cbs-cover-caption .cbs-text-link { max-width:103px; }
 .cbs-modern #cb-main .cbs-school-catch { font-size:22px; }
 .cbs-modern #cb-main .cbs-profile-fact { padding:20px 15px; }
 .cbs-modern #cb-main .cbs-profile-fact strong { font-size:24px; }
 .cbs-modern #cb-main .cbs-profile-fact--rules strong { font-size:25px; }
}

/* Tables: a school information sheet, a lesson timetable, and a price matrix.
   Scope these rules to school pages; source data and shared styles remain intact. */
.cbs-modern #cb-main #school_course>div:last-child { max-width:1120px!important; }
.cbs-modern #cb-main :is(#school_overview,#school_accomo,#school_other_fee)>div:last-child,
.cbs-modern #cb-main #school_basicdata .cb-inner>div { max-width:880px!important; }
.cbs-modern #cb-main :is(.cbf-course,.cb-course) { border:1px solid #d2dfef; border-radius:24px; background:#fff; box-shadow:none; margin-bottom:18px; }
.cbs-modern #cb-main :is(.cbf-course,.cb-course)>summary { padding:25px 30px; gap:25px; background:#f2f7fc; }
.cbs-modern #cb-main :is(.cbf-course,.cb-course)>summary h3 { font-size:23px; line-height:1.55; letter-spacing:-.02em; color:var(--clear-blue-deep); }
.cbs-modern #cb-main :is(.cbf-course,.cb-course)>summary :is(.cbf-toggle,.cb-toggle) { flex:none; display:grid; place-items:center; position:relative; width:31px; height:31px; border:1px solid #b7cce7; border-radius:50%; color:var(--clear-blue-deep); font-size:0; line-height:1; }
/* Draw the plus around the circle's center, independent of font metrics.
 * The existing 45deg open-state rotation turns the same two strokes into a cross. */
.cbs-modern #cb-main :is(.cbf-course,.cb-course)>summary :is(.cbf-toggle,.cb-toggle)::before,
.cbs-modern #cb-main :is(.cbf-course,.cb-course)>summary :is(.cbf-toggle,.cb-toggle)::after { content:''; position:absolute; left:50%; top:50%; width:15px; height:2px; border-radius:1px; background:currentColor; transform:translate(-50%,-50%); }
.cbs-modern #cb-main :is(.cbf-course,.cb-course)>summary :is(.cbf-toggle,.cb-toggle)::after { transform:translate(-50%,-50%) rotate(90deg); }
/* Forced colours replace backgrounds, which would erase the two strokes. */
@media (forced-colors:active) {
  .cbs-modern #cb-main :is(.cbf-course,.cb-course)>summary :is(.cbf-toggle,.cb-toggle)::before,
  .cbs-modern #cb-main :is(.cbf-course,.cb-course)>summary :is(.cbf-toggle,.cb-toggle)::after { background:CanvasText; }
}
.cbs-modern #cb-main :is(.cbf-course,.cb-course)[open]>summary { background:#2b63ba; }
.cbs-modern #cb-main :is(.cbf-course,.cb-course)[open]>summary h3 { color:#fff; }
.cbs-modern #cb-main :is(.cbf-course,.cb-course)[open]>summary :is(.cbf-toggle,.cb-toggle) { color:#fff; border-color:#8eb4eb; }
.cbs-modern #cb-main :is(.cbf-course__body,.cb-course__body) { padding:30px; }
.cbs-modern #cb-main .cbf-course-desc { font-size:15px; line-height:2; margin-bottom:28px; }
.cbs-modern #cb-main .cbf-course-desc>p { max-width:850px; margin-bottom:22px; }
.cbs-modern #cb-main .cbf-course__level { font-size:21px; margin:35px 0 20px; color:var(--clear-blue-deep); }
.cbs-modern #cb-main .cbf-meta { font-size:13px; margin-bottom:20px; color:#536780; }
.cbs-modern #cb-main .cbf-course-cta { gap:16px; margin:26px 0 0; }
.cbs-modern #cb-main .cbf-course-cta__btn { min-height:52px; font-size:14px; padding:14px 20px; }

/* The short lesson tables keep their row/column relationships and original wording. */
.cbs-modern #cb-main table.cbs-lesson-table { display:block; min-width:0; margin:24px 0 8px; border:0!important; }
.cbs-modern #cb-main .cbs-lesson-table tbody { display:flex; flex-wrap:wrap; gap:1px; background:#d7e3f0; border:1px solid #d7e3f0; border-radius:16px; overflow:hidden; }
.cbs-modern #cb-main .cbs-lesson-table tr { display:flex; flex:1 1 calc(33.333% - 1px); min-width:0; flex-direction:column; justify-content:space-between; gap:7px; padding:20px 23px; background:#f3f7fc; }
.cbs-modern #cb-main .cbs-lesson-table tbody:has(>tr:nth-child(4):last-child)>tr { flex-basis:calc(50% - 1px); }
.cbs-modern #cb-main .cbs-lesson-table :is(th,td) { display:block; width:auto; min-width:0; border:0!important; padding:0!important; background:transparent!important; text-align:left; white-space:normal; }
.cbs-modern #cb-main .cbs-lesson-table th { font-size:12px; color:#536780; font-weight:500; }
.cbs-modern #cb-main .cbs-lesson-table td { font-size:23px; font-weight:700; color:var(--clear-blue-deep); line-height:1.5; letter-spacing:-.025em; }
.cbs-modern #cb-main .cbs-lesson-table td p { margin:0; }

/* Price matrices. A chosen period is highlighted; no duration is recommended by default. */
.cbs-modern #cb-main .cbs-rate-tools { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:12px 24px; padding:9px 0 15px; }
.cbs-modern #cb-main .cbs-rate-tools label { display:flex; align-items:center; gap:14px; color:var(--clear-blue-deep); font-size:13px; font-weight:700; }
.cbs-modern #cb-main .cbs-rate-tools select { appearance:auto; border:1px solid #b5c9e4; border-radius:8px; min-height:44px; padding:8px 31px 8px 13px; font:700 14px 'Zen Maru Gothic',sans-serif; color:var(--clear-blue-deep); background:#fff; cursor:pointer; }
.cbs-modern #cb-main .cbs-rate-hint { color:#536780; font-size:11px; }
.cbs-modern #cb-main :is(.cbf-hint,.cb-sch-table__hint)[hidden] { display:none!important; }
.cbs-modern #cb-main :is(.cbf-scroll,.cbs-rate-scroll) { overflow-x:auto; border:1px solid #ccdcee; border-radius:15px; scrollbar-color:#91b3df #eef4fb; scrollbar-width:thin; padding:0!important; }
.cbs-modern #cb-main :is(.cbf-table,.cbs-duration-table) { border-collapse:separate!important; border-spacing:0; width:100%; margin:0; font-variant-numeric:tabular-nums; border:0!important; }
.cbs-modern #cb-main :is(.cbf-table,.cbs-duration-table) :is(th,td) { border:0!important; border-bottom:1px solid #dce6f1!important; border-right:1px solid #e6edf6!important; padding:20px 17px!important; font-size:16px; line-height:1.7; }
.cbs-modern #cb-main :is(.cbf-table,.cbs-duration-table) thead th,
.cbs-modern #cb-main .cbs-duration-table .cbs-duration-head>* { background:#e8f0fb!important; color:var(--clear-blue-deep); text-align:center; font-size:14px; font-weight:700; }
.cbs-modern #cb-main :is(.cbf-table,.cbs-duration-table) tbody th { color:var(--clear-blue-deep); background:#f4f8fc!important; font-size:13px; font-weight:700; }
.cbs-modern #cb-main :is(.cbf-table,.cbs-duration-table) tbody td { background:#fff!important; text-align:right; color:#243e60; }
.cbs-modern #cb-main :is(.cbf-table,.cbs-duration-table) tbody tr:nth-child(even)>td { background:#f8fbfe!important; }
.cbs-modern #cb-main :is(.cbf-table,.cbs-duration-table) tr:last-child>* { border-bottom:0!important; }
.cbs-modern #cb-main :is(.cbf-table,.cbs-duration-table) tr>*:last-child { border-right:0!important; }
.cbs-modern #cb-main .cbs-duration-table .cbs-room-label,
.cbs-modern #cb-main .cbf-table--rooms .cbf-sticky-col { position:sticky; left:0; z-index:1; min-width:180px; width:180px; max-width:180px; white-space:normal!important; word-break:normal; overflow-wrap:anywhere; text-align:left; box-shadow:1px 0 0 #cad9eb; }
.cbs-modern #cb-main .cbs-duration-table .cbs-duration-head>.cbs-room-label,
.cbs-modern #cb-main .cbf-table--rooms thead .cbf-sticky-col { background:#e8f0fb!important; }
.cbs-modern #cb-main .cbs-duration-table tr>*:not(:first-child) { min-width:107px; white-space:nowrap; }
.cbs-modern #cb-main .cbs-money-value { font-size:18px; font-weight:700; letter-spacing:-.015em; }
.cbs-modern #cb-main .cbs-money-unit { font-size:11px; font-weight:500; margin-left:3px; letter-spacing:0; }
.cbs-modern #cb-main .cbs-duration-table tbody td.is-period-selected { background:#fff7d4!important; color:var(--clear-blue-deep); }
.cbs-modern #cb-main .cbs-duration-table .cbs-duration-head>.is-period-selected { background:#ffdf4a!important; color:var(--clear-blue-deep); }
@media(hover:hover) {
 .cbs-modern #cb-main :is(.cbf-table,.cbs-duration-table) tbody tr:hover>td { background:#edf4fd!important; }
 .cbs-modern #cb-main .cbs-duration-table tbody tr:hover>td.is-period-selected { background:#ffefad!important; }
}

/* Two-column information sheets: preserve the grouping without a dense grid. */
.cbs-modern #cb-main :is(#school_overview,#school_accomo,#school_basicdata) .cb-sch-table { padding:0; border:1px solid #d0dfef; border-radius:24px; overflow:hidden; }
.cbs-modern #cb-main :is(#school_overview,#school_accomo,#school_basicdata) .school-table { min-width:0; table-layout:fixed; margin:0; }
.cbs-modern #cb-main :is(#school_overview,#school_accomo,#school_basicdata) .school-table caption { position:static!important; clip:auto!important; clip-path:none!important; width:auto!important; height:auto!important; overflow:visible!important; margin:0!important; padding:22px 30px!important; background:#2b63ba; color:#fff; font-size:18px; font-weight:700; line-height:1.7; text-align:left; white-space:normal; }
.cbs-modern #cb-main :is(#school_overview,#school_accomo,#school_basicdata) .school-table :is(th,td) { padding:24px 30px!important; border-bottom:1px solid #dce6f1!important; line-height:1.95; white-space:normal; overflow-wrap:anywhere; vertical-align:top; }
.cbs-modern #cb-main :is(#school_overview,#school_accomo,#school_basicdata) .school-table th { width:25%; min-width:0; color:var(--clear-blue-deep); background:#fff!important; font-size:13px; font-weight:700; }
.cbs-modern #cb-main :is(#school_overview,#school_accomo,#school_basicdata) .school-table td { color:#304761; background:#fff!important; font-size:16px; }
.cbs-modern #cb-main :is(#school_overview,#school_accomo,#school_basicdata) .school-table tr:nth-child(even)>* { background:#f3f7fc!important; }
.cbs-modern #cb-main :is(#school_overview,#school_accomo,#school_basicdata) .school-table tr:last-child>* { border-bottom:0!important; }
.cbs-modern #cb-main :is(#school_overview,#school_accomo)>.cb-sch-table__hint,
.cbs-modern #cb-main :is(#school_overview,#school_accomo) .cb-sch-table__hint { display:none; }
.cbs-modern #cb-main .cb-sch-table a { color:var(--clear-blue-deep); text-underline-offset:4px; }

/* Separate the two payment timings, using the headings already in the source. */
.cbs-modern #cb-main .cb-sch-table--fees { background:none; border:0; border-radius:0; padding:0; overflow:visible; }
.cbs-modern #cb-main .cb-sch-table--fees>h3 { padding:20px 27px; border:0; border-radius:18px 18px 0 0; background:#2b63ba; color:#fff; margin:40px 0 0; font-size:20px; }
.cbs-modern #cb-main .cb-sch-table--fees>h3:first-child { margin-top:0; }
.cbs-modern #cb-main .cb-sch-table--fees table { min-width:0; margin:0 0 14px; background:#fff; border-radius:0 0 18px 18px; overflow:hidden; }
.cbs-modern #cb-main .cb-sch-table--fees :is(th,td) { padding:23px 27px!important; border-bottom:1px solid #dce6f1!important; background:#fff!important; white-space:normal; line-height:1.9; }
.cbs-modern #cb-main .cb-sch-table--fees th { width:35%; min-width:0; color:var(--clear-blue-deep); font-size:13px; }
.cbs-modern #cb-main .cb-sch-table--fees td { font-size:16px; font-variant-numeric:tabular-nums; color:#304761; }
.cbs-modern #cb-main .cb-sch-table--fees tr:nth-child(even)>* { background:#f5f8fc!important; }
.cbs-modern #cb-main #school_other_fee .cb-sch-table__hint { display:none; }
.cbs-modern #cb-main .cb-sch-table--fees .cbf-scroll { border:0; border-radius:0 0 18px 18px; }
/* 料金のまとまり(#school_course)の表の見出し(caption「渡航前にかかる費用」「条件つき追加料金」)。プラグインの既定は余白 0 で、
   新しいデザインが .cbf-scroll に枠線と角丸を付けたぶん、見出しが枠の角に詰まっていた(2026-10-11)。セルの余白にそろえる */
.cbs-modern #cb-main #school_course .cbf-table--simple caption { padding:16px 17px 8px; }
@media(max-width:767px) { .cbs-modern #cb-main #school_course .cbf-table--simple caption { padding:14px 13px 6px; } }
/* Older small-screen rules stacked these cells; keep labels beside their values. */
.cbs-modern #cb-main :is(.cb-sch-table--fees,.cb-sch-table--basicdata) table { display:table; }
.cbs-modern #cb-main :is(.cb-sch-table--fees,.cb-sch-table--basicdata) tbody { display:table-row-group; }
.cbs-modern #cb-main :is(.cb-sch-table--fees,.cb-sch-table--basicdata) tr { display:table-row; }
.cbs-modern #cb-main :is(.cb-sch-table--fees,.cb-sch-table--basicdata) :is(th,td) { display:table-cell; }

/* Comparison uses the same type and rhythm, with equal weight for every school. */
.cbs-modern #cb-main .cbs-table-scroll { border-radius:22px; border-color:#cfdeef; scrollbar-color:#91b3df #edf4fb; }
.cbs-modern #cb-main .cbs-compare-table { border-collapse:separate; border-spacing:0; }
.cbs-modern #cb-main .cbs-compare-table :is(th,td) { border:0; border-bottom:1px solid #dce6f1; border-right:1px solid #e4ecf5; padding:25px 26px; }
.cbs-modern #cb-main .cbs-compare-table thead>* >*,
.cbs-modern #cb-main .cbs-compare-table thead td:first-child { background:#2b63ba; color:#fff; }
.cbs-modern #cb-main .cbs-compare-table thead a { color:#fff; font-size:23px; line-height:1.5; }
.cbs-modern #cb-main .cbs-compare-table tbody th { background:#f1f6fc; color:var(--clear-blue-deep); }
.cbs-modern #cb-main .cbs-compare-table tbody tr:nth-child(even)>td { background:#f8fbfe; }
.cbs-modern #cb-main .cbs-compare-table tbody td { font-size:15px; line-height:1.95; }

@media(max-width:767px) {
 .cbs-modern #cb-main :is(.cbf-course,.cb-course) { border-radius:19px; }
 .cbs-modern #cb-main :is(.cbf-course,.cb-course)>summary { padding:20px; gap:14px; }
 .cbs-modern #cb-main :is(.cbf-course,.cb-course)>summary h3 { font-size:21px; }
 .cbs-modern #cb-main :is(.cbf-course__body,.cb-course__body) { padding:22px 16px; }
 .cbs-modern #cb-main .cbf-course-desc { font-size:14px; }
 .cbs-modern #cb-main .cbs-lesson-table tr { flex-basis:calc(50% - 1px); padding:17px 14px; }
 .cbs-modern #cb-main .cbs-lesson-table th { font-size:11px; }
 .cbs-modern #cb-main .cbs-lesson-table td { font-size:19px; }
 .cbs-modern #cb-main .cbs-rate-tools { gap:10px; }
 .cbs-modern #cb-main .cbs-rate-tools label { gap:9px; font-size:11px; width:100%; justify-content:space-between; }
 .cbs-modern #cb-main .cbs-rate-tools select { padding:9px; font-size:16px; max-width:160px; }
 .cbs-modern #cb-main .cbs-rate-hint { font-size:10px; }
 .cbs-modern #cb-main :is(.cbf-table,.cbs-duration-table) :is(th,td) { padding:17px 13px!important; }
 .cbs-modern #cb-main .cbs-duration-table .cbs-room-label,
 .cbs-modern #cb-main .cbf-table--rooms .cbf-sticky-col { min-width:115px; width:115px; max-width:115px; font-size:11px; line-height:1.8; }
 .cbs-modern #cb-main .cbs-duration-table tr>*:not(:first-child) { min-width:100px; }
 .cbs-modern #cb-main .cbs-money-value { font-size:17px; }
 .cbs-modern #cb-main :is(#school_overview,#school_accomo,#school_basicdata) .cb-sch-table { border-radius:18px; }
 .cbs-modern #cb-main :is(#school_overview,#school_accomo,#school_basicdata) .school-table caption { font-size:16px; padding:20px!important; }
 .cbs-modern #cb-main :is(#school_overview,#school_accomo,#school_basicdata) .school-table :is(th,td) { padding:19px 17px!important; }
 .cbs-modern #cb-main :is(#school_overview,#school_accomo,#school_basicdata) .school-table th { width:32%; font-size:11px; padding-right:8px!important; }
 .cbs-modern #cb-main :is(#school_overview,#school_accomo,#school_basicdata) .school-table td { font-size:14px; }
 .cbs-modern #cb-main .cb-sch-table--fees>h3 { padding:19px 20px; font-size:18px; }
 .cbs-modern #cb-main .cb-sch-table--fees table { table-layout:fixed; }
 .cbs-modern #cb-main .cb-sch-table--fees :is(th,td) { padding:19px 17px!important; overflow-wrap:anywhere; }
 /* Fee names often include long conditions. Keep the full name and amount
    together in a full-width row on phones, rather than squeezing either column. */
 .cbs-modern #cb-main .cb-sch-table--fees .school-table tr { display:block; }
 .cbs-modern #cb-main .cb-sch-table--fees .school-table th[scope="row"] { display:block; width:100%; font-size:12px; padding:20px 22px 7px!important; border-bottom:0!important; }
 .cbs-modern #cb-main .cb-sch-table--fees .school-table td { display:block; width:100%; font-size:15px; padding:0 22px 21px!important; }
 .cbs-modern #cb-main .cbs-compare-table :is(th,td) { padding:21px 20px; }
}

/* 見出しの文言は従来のデザインのまま h2 に置き、新しいデザインの大きな文は h2 の外の段落(.cb-h2-display)で同じ大きさに見せる。
   HTML のアウトライン(h1・h2 の文言と順番)を従来のデザインと同じに保つため(2026-09-30)。
   .cb-h2-label は h2 の中の小見出し(.cb-h2-kicker)と同じ見た目。 */
.cbs-modern #cb-main h2.cb-h2-label { display:block; font-size:13px; font-weight:700; line-height:1.6; letter-spacing:.08em; opacity:.9; text-wrap:pretty; word-break:keep-all; overflow-wrap:anywhere; }
/* 大きな文の折り返しは元の h2 と同じにする(school-modern.css の .cbs-modern #cb-main :is(h1,h2,h3) と同じ値)。
   文節での改行(auto-phrase)にすると、狭い幅で文節が 1 行に入らず、最後の 1 字だけが次の行へ送られた */
.cbs-modern #cb-main .cb-h2-display { font-weight:700; text-wrap:pretty; letter-spacing:.04em; word-break:normal; overflow-wrap:anywhere; line-break:strict; }
/* 学校詳細の節の見出し */
.cbs-modern #cb-main .cb-schsec-head h2.cb-h2-label { margin:12px 0 0; font-size:13px; line-height:1.6; color:var(--clear-blue-deep); }
.cbs-modern #cb-main .cb-schsec-head>p.cb-h2-display { margin:4px 0 0; font-size:clamp(27px,3.1vw,39px); line-height:1.6; letter-spacing:-.025em; color:var(--clear-blue-deep); }
/* 学校詳細の料金の帯(料金データの無い学校) */
.cbs-modern #cb-main .cbs-quote-help h2.cb-h2-label { margin:16px 0 0; color:#fff; }
.cbs-modern #cb-main .cbs-quote-help p.cb-h2-display { margin:6px 0 16px; font-size:clamp(24px,3vw,34px); line-height:inherit; color:#fff; }

/* 小さな見出し(.cb-h2-label)の色は置いた面に合わせる。青のグラデーションの面では白(2026-09-30) */
.cbs-modern #cb-main h2.cb-h2-label { margin:0 0 .5em; color:var(--clear-blue-deep); }
.cbs-modern #cb-main :is(.cb-sec--bluegrad,.cbs-home-help,.cbs-city-consult) h2.cb-h2-label { color:#fff; }
/* 傾向の節(#honest)は h2 の順番を従来にそろえるため白の面にしたので、メーターとタグを薄い空色にして面と分ける(PC 2 列化とは別。2026-09-30) */
.cbs-modern #cb-main #honest.cb-sec--white :is(.cb-sch-meters,.cb-sch-hashtags a) { background:#f1f6fc; }

/* Safari (no auto-phrase): keep phrase-marked headings and display lines breaking only at <wbr>, as the legacy pages do.
   The heading rules above set word-break:normal, which otherwise lets Safari break inside words. */
@supports not (word-break: auto-phrase) { .cbs-modern #cb-main .cb-phrase { word-break:keep-all; } }
/* 学校名を入れた見出し(料金表・バギオ・最後の呼びかけ。2026-10-10)は、学校名の長さで折れる位置が変わる。
   語の途中(「…のあるバ / ギオ」「…Campusに / ついて」)で折れないよう、どのブラウザでも改行の目印(<wbr>)と学校名の空白の位置だけで折る */
.cbs-keep-phrase, .cbs-modern #cb-main .cbs-keep-phrase { word-break:keep-all; }

/* Desktop-only wrappers on the school detail page. school-desktop.css (loaded from 960px) pairs their children;
 * below that width the wrappers must not take part in layout, and the spread's own wave stays hidden. */
.cbs-modern #cb-main :is(.cbs-study-spread,.cbs-about-spread,.cbs-living-spread) { display:contents; }
.cbs-modern #cb-main .cbs-spread-wave { display:none; }
