.service-disabled{padding:24px;border:2px dashed #777;background:#fafafa;color:#333;text-align:center;margin:20px auto;max-width:800px}
.service-integration h1{font-size:clamp(1.65rem,6vw,2.2rem);line-height:1.35;overflow-wrap:anywhere}
.service-missing{font-family:sans-serif;max-width:680px;margin:80px auto;padding:24px;line-height:1.8}
button[aria-expanded]{cursor:pointer}
.service-editorial{max-width:960px;margin:auto;padding:48px 24px;line-height:1.9}.service-editorial img{max-width:100%;height:auto}.service-editorial h1{margin-bottom:24px}
.dropdown-menu.show{display:block}
.syuseki-slider .slide-arrow{border:0;padding:0;background:transparent}.syuseki-slider .slide-arrow[hidden],.syuseki-slider .dots-wrap[hidden],section.graduate .graduate-link[hidden]{display:none!important}.syuseki-slider .slick-slide img{max-width:100%;height:auto}
@media(max-width:1199px){.navbar-collapse.show{display:block!important}.dropdown-menu.show{display:block!important}}
@media(max-width:767px){.syuseki-slider>img{max-width:100%;height:auto}}

.service-integration{max-width:760px;margin:32px auto;padding:24px;background:#fff;border:1px solid #d7e0dc;border-radius:12px;line-height:1.8;text-align:left}.service-test-notice{padding:12px 16px;background:#fff5d9;color:#514315;font-size:14px;line-height:1.7}.service-load{padding:12px 24px;border:0;border-radius:6px;background:#116950;color:white;font:inherit;cursor:pointer}.service-load:disabled{opacity:.6}.service-load:focus-visible{outline:3px solid #285cc4;outline-offset:3px}.service-embed-frame{width:100%;min-height:500px;border:0;display:block}.service-load-status{font-size:14px;overflow-wrap:anywhere}.service-thanks-links{display:flex;justify-content:center;gap:24px;flex-wrap:wrap;padding:24px}.thanks-area img{max-width:100%;height:auto}@media(max-width:600px){.service-integration{margin:20px 12px;padding:16px}.service-load{width:100%}}

#offline-meeting-detail .offkai-gallery__slide[hidden]{display:none}
#offline-meeting-detail .offkai-gallery__main .slick-slide[hidden]{display:none}
#offline-meeting-detail .offkai-gallery__main .slick-slide{float:none;width:100%}
#offline-meeting-detail .offkai-gallery__thumbs .slick-track{display:flex}
#offline-meeting-detail .offkai-gallery__thumbs .slick-slide{flex-shrink:0}
#offline-meeting-detail [role="button"]:focus-visible,#offline-meeting-detail button:focus-visible{outline:3px solid #285cc4;outline-offset:3px}
.service-embed-slot{position:relative}.service-integration[data-loading] .service-embed-slot{min-height:300px}/* Heights measured on production (2026-10-22) so the page does not jump when the form appears. Measured without the outer frame; meetings use HubSpot's fixed 756px. */.service-integration[data-loading][data-flow=contact] .service-embed-slot{min-height:1236px}.service-integration[data-loading][data-flow^=pamphlet] .service-embed-slot{min-height:1479px}.service-integration[data-loading][data-flow$=eeting] .service-embed-slot{min-height:756px}@media(max-width:600px){.service-integration[data-loading][data-flow=contact] .service-embed-slot{min-height:1366px}.service-integration[data-loading][data-flow^=pamphlet] .service-embed-slot{min-height:1783px}}.service-integration[data-loading] .service-embed-frame{visibility:hidden}.service-integration[data-loading] .service-embed-slot::before{content:'';position:absolute;top:96px;left:50%;width:40px;height:40px;margin-left:-20px;border:4px solid #d7e0dc;border-top-color:#116950;border-radius:50%;animation:service-spin .8s linear infinite}.service-integration[data-loading] .service-load-status{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}@keyframes service-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.service-integration[data-loading] .service-embed-slot::before{animation-duration:2.4s}}
/* Live forms and booking bring their own card; drop the outer frame so phones get the full width. */.service-integration[data-mode=connected]{max-width:720px;padding:0;border:0;background:none}@media(max-width:600px){.service-integration[data-mode=connected]{margin:20px 0}}
/* Keep short values such as 「小学4年生〜中学3年生」 on one line in the left info table. */.lp-form-info .info-table:first-child .info-item-detail{white-space:nowrap}
