@charset "UTF-8";

:root {
  --kaigo-blue: #079dd9;
  --kaigo-blue-dark: #006aa7;
  --kaigo-blue-pale: #eaf8ff;
  --kaigo-yellow: #ffcc29;
  --kaigo-pink: #ef6b9a;
  --kaigo-green: #52bf91;
  --kaigo-cream: #fffaf0;
  --kaigo-ink: #173549;
  --kaigo-muted: #567080;
  --kaigo-white: #fff;
  --kaigo-shadow: 0 16px 45px rgba(33, 105, 138, .13);
  --kaigo-radius: 28px;
  --kaigo-font: "M PLUS Rounded 1c", "Yu Gothic", "Hiragino Kaku Gothic ProN", sans-serif;
}

/* Keep the DESIGN.md TOP refinements above legacy rules. */
body.kaigo-page--home .kaigo-category-nav { padding: 72px 0 96px; background: #f3f8fb; }
body.kaigo-page--home .kaigo-category-nav__heading { margin-bottom: 32px; }
body.kaigo-page--home .kaigo-category-nav__grid { gap: 24px; }
body.kaigo-page--home .kaigo-category-card { min-height: 270px; padding: 32px 24px 24px; background: color-mix(in srgb, var(--category-color) 9%, white); border-width: 1px; border-radius: 22px; box-shadow: 0 8px 24px rgba(70,60,50,.08); }
body.kaigo-page--home .kaigo-category-card--blue { background: #edf8fe; }
body.kaigo-page--home .kaigo-category-card--green { background: #effaf4; }
body.kaigo-page--home .kaigo-category-card--yellow { background: #fff9e8; }
body.kaigo-page--home .kaigo-category-card--pink { background: #fff2f7; }
body.kaigo-page--home .kaigo-category-card svg { width: 54px; height: 54px; margin-bottom: 18px; }
body.kaigo-page--home .kaigo-category-card > span { margin-top: 10px; font-weight: 500; }
body.kaigo-page--home .kaigo-category-card b { width: 38px; height: 38px; margin-top: 20px; background: #fff; }
body.kaigo-page--home .kaigo-numbers { padding: 88px 0 104px; }
body.kaigo-page--home .kaigo-video-stories { padding: 96px 0 104px; background: #f3f8fb; }
body.kaigo-page--home .kaigo-next-step { padding: 96px 0 104px; background: #f8f6f1; }
body.kaigo-page--home .kaigo-info-hub { padding: 88px 0 0; }
body.kaigo-page--home .kaigo-number-card,
body.kaigo-page--home .kaigo-video-card,
body.kaigo-page--home .kaigo-next-card,
body.kaigo-page--home .kaigo-info-card { border-radius: 22px; box-shadow: 0 8px 24px rgba(70,60,50,.08); }
body.kaigo-page--home .kaigo-next-card { grid-template-columns: 42% 58%; min-height: 270px; }
body.kaigo-page--home .kaigo-next-card__image { min-height: 270px; margin: 12px 0 12px 12px; border-radius: 18px; }
body.kaigo-page--home .kaigo-next-card__image img { object-position: center 30%; }
body.kaigo-page--home .kaigo-next-card__body { padding: 30px 24px 24px; }
body.kaigo-page--home .kaigo-next-card__button,
body.kaigo-page--home .kaigo-info-card span,
body.kaigo-page--home .kaigo-job-check__button { min-height: 52px; padding: 12px 20px; border-radius: 9999px; }
body.kaigo-page--home .kaigo-info-card { min-height: 200px; padding: 28px; }
body.kaigo-page--home .kaigo-info-card small { font-size: 14px; }
body.kaigo-page--home .kaigo-hero__photo--main { border-radius: 48% 0 0 42% / 54% 0 0 46%; }

@media (max-width: 1023px) {
  body.kaigo-page--home .kaigo-category-nav { padding: 64px 0 80px; }
  body.kaigo-page--home .kaigo-numbers,
  body.kaigo-page--home .kaigo-video-stories,
  body.kaigo-page--home .kaigo-next-step { padding: 80px 0; }
  body.kaigo-page--home .kaigo-info-hub { padding-top: 80px; }
}

@media (max-width: 639px) {
  body.kaigo-page--home .kaigo-category-nav { padding: 56px 0 72px; }
  body.kaigo-page--home .kaigo-category-nav__grid { gap: 12px; }
  body.kaigo-page--home .kaigo-category-card { min-height: 230px; padding: 24px 14px 18px; border-radius: 18px; }
  body.kaigo-page--home .kaigo-category-card svg { width: 46px; height: 46px; margin-bottom: 14px; }
  body.kaigo-page--home .kaigo-category-card > span { min-height: 66px; font-size: 14px; }
  body.kaigo-page--home .kaigo-category-card b { width: 34px; height: 34px; margin-top: 14px; }
  body.kaigo-page--home .kaigo-numbers,
  body.kaigo-page--home .kaigo-video-stories,
  body.kaigo-page--home .kaigo-next-step { padding: 64px 0 72px; }
  body.kaigo-page--home .kaigo-info-hub { padding-top: 64px; }
  body.kaigo-page--home .kaigo-next-card { grid-template-columns: 40% 60%; min-height: 230px; }
  body.kaigo-page--home .kaigo-next-card__image { min-height: 206px; border-radius: 15px; }
  body.kaigo-page--home .kaigo-next-card__body { padding: 22px 16px 18px; }
  body.kaigo-page--home .kaigo-next-card__button,
  body.kaigo-page--home .kaigo-info-card span { min-height: 48px; font-size: 14px; }
  body.kaigo-page--home .kaigo-info-card { min-height: 176px; padding: 22px 18px; }
}

/* TOP design refinement based on DESIGN.md */
.kaigo-page--home .kaigo-category-nav { padding: 72px 0 96px; background: #f3f8fb; }
.kaigo-page--home .kaigo-category-nav__heading { margin-bottom: 32px; }
.kaigo-page--home .kaigo-category-nav__grid { gap: 24px; }
.kaigo-page--home .kaigo-category-card {
  min-height: 270px;
  padding: 32px 24px 24px;
  background: color-mix(in srgb, var(--category-color) 9%, white);
  border: 1px solid color-mix(in srgb, var(--category-color) 32%, white);
  border-radius: 22px;
  box-shadow: 0 8px 24px rgba(70,60,50,.08);
}
.kaigo-page--home .kaigo-category-card--blue { background: #edf8fe; }
.kaigo-page--home .kaigo-category-card--green { background: #effaf4; }
.kaigo-page--home .kaigo-category-card--yellow { background: #fff9e8; }
.kaigo-page--home .kaigo-category-card--pink { background: #fff2f7; }
.kaigo-page--home .kaigo-category-card:hover,
.kaigo-page--home .kaigo-category-card:focus-visible { box-shadow: 0 12px 28px rgba(70,60,50,.11); transform: translateY(-4px); }
.kaigo-page--home .kaigo-category-card svg { width: 54px; height: 54px; margin-bottom: 18px; }
.kaigo-page--home .kaigo-category-card > span { margin-top: 10px; font-weight: 500; }
.kaigo-page--home .kaigo-category-card b { width: 38px; height: 38px; margin-top: 20px; background: #fff; }

.kaigo-page--home .kaigo-numbers { padding: 88px 0 104px; background: #fff; }
.kaigo-page--home .kaigo-numbers__heading,
.kaigo-page--home .kaigo-video-stories__heading,
.kaigo-page--home .kaigo-next-step__heading,
.kaigo-page--home .kaigo-info-hub__heading { margin-bottom: 34px; }
.kaigo-page--home .kaigo-number-card,
.kaigo-page--home .kaigo-video-card,
.kaigo-page--home .kaigo-next-card,
.kaigo-page--home .kaigo-info-card { border-radius: 22px; box-shadow: 0 8px 24px rgba(70,60,50,.08); }
.kaigo-page--home .kaigo-number-card { padding: 30px 28px 24px; }

.kaigo-page--home .kaigo-video-stories { padding: 96px 0 104px; background: #f3f8fb; }
.kaigo-page--home .kaigo-video-stories__lead { margin: -22px 0 34px; }
.kaigo-page--home .kaigo-video-stories__grid { gap: 28px; }
.kaigo-page--home .kaigo-video-card { border: 1px solid rgba(79,169,232,.14); }
.kaigo-page--home .kaigo-video-card__player { border-radius: 20px 20px 0 0; }
.kaigo-page--home .kaigo-video-card h3 { padding: 24px 24px 6px; }
.kaigo-page--home .kaigo-video-card p { padding: 0 24px 24px; font-weight: 500; }

.kaigo-page--home .kaigo-next-step { padding: 96px 0 104px; background: #f8f6f1; }
.kaigo-page--home .kaigo-next-step__grid { gap: 28px; }
.kaigo-page--home .kaigo-next-card { grid-template-columns: 42% 58%; min-height: 270px; border: 1px solid rgba(70,60,50,.08); }
.kaigo-page--home .kaigo-next-card__image { min-height: 270px; margin: 12px 0 12px 12px; border-radius: 18px; }
.kaigo-page--home .kaigo-next-card__image img { object-position: center 30%; transition: transform .45s ease; }
.kaigo-page--home .kaigo-next-card:first-child .kaigo-next-card__image img { object-position: 40% center; }
.kaigo-page--home .kaigo-next-card:hover .kaigo-next-card__image img { transform: scale(1.025); }
.kaigo-page--home .kaigo-next-card__body { padding: 30px 24px 24px; }
.kaigo-page--home .kaigo-next-card__button,
.kaigo-page--home .kaigo-info-card span,
.kaigo-page--home .kaigo-job-check__button { min-height: 52px; padding: 12px 20px; border-radius: 9999px; }
.kaigo-page--home .kaigo-next-card__button:hover,
.kaigo-page--home .kaigo-next-card__button:focus-visible { outline: none; box-shadow: 0 10px 22px rgba(70,60,50,.14); transform: translateY(-2px); }

.kaigo-page--home .kaigo-info-hub { padding: 88px 0 0; background: linear-gradient(180deg, #f3f8fb 0%, #f3f8fb 74%, #fff 74%); }
.kaigo-page--home .kaigo-info-hub__grid { gap: 24px; }
.kaigo-page--home .kaigo-info-card { min-height: 200px; padding: 28px; border: 1px solid rgba(79,169,232,.16); }
.kaigo-page--home .kaigo-info-card:hover,
.kaigo-page--home .kaigo-info-card:focus-visible { box-shadow: 0 12px 28px rgba(70,60,50,.11); transform: translateY(-3px); }
.kaigo-page--home .kaigo-info-card small { font-size: 14px; }
.kaigo-page--home .kaigo-job-check { margin-top: 28px; }

.kaigo-page--home .kaigo-hero__photo--main {
  border-radius: 48% 0 0 42% / 54% 0 0 46%;
  -webkit-mask-image: linear-gradient(to right, transparent 0%, rgba(0,0,0,.45) 10%, #000 25%);
  mask-image: linear-gradient(to right, transparent 0%, rgba(0,0,0,.45) 10%, #000 25%);
}

@media (max-width: 1023px) {
  .kaigo-page--home .kaigo-category-nav { padding: 64px 0 80px; }
  .kaigo-page--home .kaigo-category-nav__grid { gap: 18px; }
  .kaigo-page--home .kaigo-numbers,
  .kaigo-page--home .kaigo-video-stories,
  .kaigo-page--home .kaigo-next-step { padding: 80px 0; }
  .kaigo-page--home .kaigo-info-hub { padding-top: 80px; }
  .kaigo-page--home .kaigo-next-card { min-height: 250px; }
  .kaigo-page--home .kaigo-next-card__image { min-height: 226px; }
}

@media (max-width: 639px) {
  .kaigo-page--home .kaigo-category-nav { padding: 56px 0 72px; }
  .kaigo-page--home .kaigo-category-nav__heading { margin-bottom: 24px; }
  .kaigo-page--home .kaigo-category-nav__grid { gap: 12px; }
  .kaigo-page--home .kaigo-category-card { min-height: 230px; padding: 24px 14px 18px; border-radius: 18px; }
  .kaigo-page--home .kaigo-category-card svg { width: 46px; height: 46px; margin-bottom: 14px; }
  .kaigo-page--home .kaigo-category-card > span { min-height: 66px; font-size: 14px; line-height: 1.65; }
  .kaigo-page--home .kaigo-category-card b { width: 34px; height: 34px; margin-top: 14px; }
  .kaigo-page--home .kaigo-numbers,
  .kaigo-page--home .kaigo-video-stories,
  .kaigo-page--home .kaigo-next-step { padding: 64px 0 72px; }
  .kaigo-page--home .kaigo-info-hub { padding-top: 64px; }
  .kaigo-page--home .kaigo-numbers__heading,
  .kaigo-page--home .kaigo-video-stories__heading,
  .kaigo-page--home .kaigo-next-step__heading,
  .kaigo-page--home .kaigo-info-hub__heading { margin-bottom: 26px; }
  .kaigo-page--home .kaigo-video-stories__lead { margin: -16px 0 26px; font-size: 14px; }
  .kaigo-page--home .kaigo-video-card h3 { padding: 20px 20px 5px; }
  .kaigo-page--home .kaigo-video-card p { padding: 0 20px 22px; font-size: 16px; }
  .kaigo-page--home .kaigo-next-card { grid-template-columns: 40% 60%; min-height: 230px; }
  .kaigo-page--home .kaigo-next-card__image { min-height: 206px; margin: 12px 0 12px 12px; border-radius: 15px; }
  .kaigo-page--home .kaigo-next-card__body { padding: 22px 16px 18px; }
  .kaigo-page--home .kaigo-next-card p { font-size: 14px; }
  .kaigo-page--home .kaigo-next-card__button { min-height: 48px; font-size: 14px; }
  .kaigo-page--home .kaigo-info-card { min-height: 176px; padding: 22px 18px; }
  .kaigo-page--home .kaigo-info-card p,
  .kaigo-page--home .kaigo-info-card small { font-size: 14px; }
  .kaigo-page--home .kaigo-info-card span { min-height: 48px; font-size: 14px; }
  .kaigo-page--home .kaigo-hero__photo--main { border-radius: 42% 0 0 38% / 50% 0 0 44%; }
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 86px; }
body { margin: 0; }
body.kaigo-page { color: var(--kaigo-ink); background: #fff; font-family: var(--kaigo-font); line-height: 1.8; overflow-x: hidden; }
.kaigo-page img { display: block; max-width: 100%; }
.kaigo-page a { color: inherit; }
.kaigo-page button, .kaigo-page a { -webkit-tap-highlight-color: transparent; }
.kaigo-container { width: min(1120px, calc(100% - 40px)); margin-inline: auto; }
.kaigo-skip { position: fixed; top: -100px; left: 16px; z-index: 9999; padding: 10px 16px; color: #fff !important; background: var(--kaigo-blue-dark); border-radius: 0 0 8px 8px; }
.kaigo-skip:focus { top: 0; }

.kaigo-header { position: fixed; top: 0; left: 0; z-index: 1000; width: 100%; transition: background .25s, box-shadow .25s; }
.kaigo-header.is-scrolled { background: rgba(255,255,255,.95); box-shadow: 0 6px 24px rgba(5,83,119,.09); backdrop-filter: blur(12px); }
.kaigo-header__inner { display: flex; align-items: center; justify-content: space-between; width: min(1280px, calc(100% - 40px)); height: 170px; margin-inline: auto; }
.kaigo-header__brand { width: 428px; max-width: 38vw; padding: 7px 10px; background: rgba(255,255,255,.94); border-radius: 14px; box-shadow: 0 5px 20px rgba(33,105,138,.08); }
.kaigo-header__brand img { width: 100%; height: auto; }
.kaigo-nav { display: flex; gap: 32px; align-items: center; padding: 9px 24px; font-size: 14px; font-weight: 700; background: rgba(255,255,255,.88); border-radius: 999px; box-shadow: 0 5px 20px rgba(33,105,138,.08); }
.kaigo-nav a { text-decoration: none; transition: color .2s; }
.kaigo-nav a:hover, .kaigo-nav a:focus-visible { color: var(--kaigo-blue); }
.kaigo-menu-button { display: none; }

.kaigo-hero { position: relative; min-height: 790px; padding: 205px 0 115px; overflow: hidden; background: linear-gradient(125deg, #fff 0 42%, #ecfaff 42% 100%); }
.kaigo-hero::before { content: ""; position: absolute; width: 320px; height: 320px; top: -110px; right: 34%; border: 2px dotted rgba(7,157,217,.2); border-radius: 50%; }
.kaigo-hero__inner { position: relative; z-index: 2; display: grid; grid-template-columns: .9fr 1.1fr; align-items: center; gap: 64px; }
.kaigo-hero__lead { display: inline-block; margin: 0 0 7px; padding: 6px 16px; color: var(--kaigo-blue-dark); font-size: clamp(15px, 1.5vw, 20px); font-weight: 800; letter-spacing: .08em; background: var(--kaigo-blue-pale); border-radius: 999px; }
.kaigo-hero h1 { margin: 0; color: var(--kaigo-blue); font-size: clamp(50px, 6.3vw, 86px); line-height: 1.07; letter-spacing: -.04em; }
.kaigo-hero h1 span { color: var(--kaigo-yellow); text-shadow: 3px 3px 0 #fff; }
.kaigo-hero .kaigo-event-title {
  display: grid;
  width: fit-content;
  max-width: 100%;
  line-height: 1.25;
  letter-spacing: 0;
}
.kaigo-hero .kaigo-event-title > span {
  display: block;
  color: var(--kaigo-blue);
  white-space: nowrap;
  text-align: center;
  text-shadow: none;
}
.kaigo-hero .kaigo-event-title > span + span::before { content: none; }
.kaigo-hero .kaigo-event-title__sub {
  font-size: clamp(20px, 2.7vw, 34px);
  letter-spacing: .025em;
}
.kaigo-hero .kaigo-event-title__main {
  margin-top: 5px;
  font-size: clamp(28px, 3.8vw, 48px);
  letter-spacing: -.025em;
}
.kaigo-hero__work-title { font-size: clamp(43px, 5.5vw, 76px) !important; letter-spacing: 0 !important; }
.kaigo-hero__catch { margin: 25px 0 24px; font-size: clamp(21px, 2vw, 29px); font-weight: 700; line-height: 1.55; }
.kaigo-hero__catch strong { position: relative; color: var(--kaigo-pink); font-size: 1.4em; }
.kaigo-hero__catch strong::after { content: ""; position: absolute; left: 0; bottom: 1px; z-index: -1; width: 100%; height: 10px; background: rgba(255,204,41,.55); border-radius: 99px; }
.kaigo-page--event .kaigo-heading.voice-jp-heading > span,
.kaigo-page--event .kaigo-hero__catch.voice-jp-heading > span,
.kaigo-page--event .kaigo-guest-card h3.voice-jp-heading > span,
.kaigo-page--event .kaigo-program-card h3.voice-jp-heading > span,
.kaigo-page--event .kaigo-booth-card h3.voice-jp-heading > span,
.kaigo-page--event .kaigo-cta h2.voice-jp-heading > span { display: block; }
.kaigo-page--event .kaigo-heading.voice-jp-heading > span + span::before,
.kaigo-page--event .kaigo-hero__catch.voice-jp-heading > span + span::before,
.kaigo-page--event .kaigo-guest-card h3.voice-jp-heading > span + span::before,
.kaigo-page--event .kaigo-program-card h3.voice-jp-heading > span + span::before,
.kaigo-page--event .kaigo-booth-card h3.voice-jp-heading > span + span::before,
.kaigo-page--event .kaigo-cta h2.voice-jp-heading > span + span::before { content: none; }
.kaigo-page--event p,
.kaigo-page--event li,
.kaigo-page--event dd { word-break: normal; overflow-wrap: normal; line-break: strict; }
.kaigo-hero__catch--work { font-size: clamp(20px, 1.8vw, 27px); }
.kaigo-hero__description { margin: 0 0 28px; color: var(--kaigo-muted); font-size: 16px; font-weight: 500; line-height: 2; }
.kaigo-event-facts { display: grid; grid-template-columns: auto auto; gap: 4px 23px; margin: 0 0 28px; }
.kaigo-event-facts p { margin: 0; }
.kaigo-event-facts__date { color: var(--kaigo-blue-dark); font-size: 37px; font-weight: 800; line-height: 1.2; }
.kaigo-event-facts__date span { display: block; font-size: 14px; letter-spacing: .14em; }
.kaigo-event-facts__date small { padding: 4px 7px; color: #fff; font-size: 11px; background: var(--kaigo-pink); border-radius: 6px; vertical-align: middle; }
.kaigo-event-facts__time { align-self: end; padding-bottom: 3px; color: var(--kaigo-ink); font-size: 29px; font-weight: 800; }
.kaigo-event-facts__time span { margin-inline: 5px; color: var(--kaigo-blue); font-size: 17px; }
.kaigo-event-facts__place { grid-column: 1 / -1; padding-top: 11px; font-weight: 800; border-top: 1px solid #b9d9e7; }
.kaigo-event-facts__place > span,
.kaigo-event-facts__place > small,
.kaigo-hero__badge > span,
.kaigo-hero__badge > strong { display: block; }
.kaigo-event-facts__place::before { content: "●"; margin-right: 8px; color: var(--kaigo-green); }
.kaigo-event-facts__place small { margin-left: 7px; color: var(--kaigo-muted); font-size: 12px; font-weight: 500; }
.kaigo-button { display: inline-flex; align-items: center; justify-content: center; gap: 24px; min-height: 56px; padding: 13px 26px; font-weight: 800; text-decoration: none; border-radius: 999px; transition: transform .2s, box-shadow .2s, background .2s; }
.kaigo-button:hover { transform: translateY(-3px); }
.kaigo-button--primary { color: #fff !important; background: linear-gradient(100deg, var(--kaigo-blue), #34c3e8); box-shadow: 0 12px 24px rgba(7,157,217,.25); }
.kaigo-button--outline { color: var(--kaigo-blue-dark) !important; border: 2px solid var(--kaigo-blue); }
.kaigo-button--white { color: var(--kaigo-blue-dark) !important; background: #fff; }
.kaigo-hero__visual { position: relative; height: 580px; }
.kaigo-hero__photo { position: absolute; overflow: hidden; border: 9px solid #fff; box-shadow: var(--kaigo-shadow); }
.kaigo-hero__photo img { width: 100%; height: 100%; object-fit: cover; }
.kaigo-hero__photo--main { right: -30px; bottom: 0; width: 530px; height: 530px; border-radius: 48% 52% 50% 50% / 44% 41% 59% 56%; transform: rotate(2deg); }
.kaigo-hero__photo--main img { object-position: 40% center; transform: rotate(-2deg) scale(1.05); }
.kaigo-hero__photo--sub { left: -30px; top: 10px; width: 210px; height: 210px; border-radius: 50%; }
.kaigo-hero__badge { position: absolute; right: -8px; top: 28px; display: grid; place-items: center; width: 132px; height: 132px; margin: 0; color: var(--kaigo-ink); text-align: center; font-size: 16px; font-weight: 800; line-height: 1.25; background: var(--kaigo-yellow); border: 6px solid #fff; border-radius: 50%; box-shadow: var(--kaigo-shadow); transform: rotate(6deg); }
.kaigo-hero__badge strong { font-size: 29px; }
.kaigo-page--event .kaigo-hero__badge { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 5px; font-size: 17px; line-height: 1; letter-spacing: .02em; }
.kaigo-page--event .kaigo-hero__badge > span,
.kaigo-page--event .kaigo-hero__badge > strong { line-height: 1.1; }
.kaigo-page--event .kaigo-hero__badge strong { font-size: 30px; letter-spacing: .04em; }
.kaigo-hero__decor { position: absolute; border-radius: 50%; opacity: .65; filter: blur(1px); }
.kaigo-hero__decor--yellow { width: 90px; height: 90px; left: 3%; top: 33%; background: var(--kaigo-yellow); }
.kaigo-hero__decor--pink { width: 44px; height: 44px; right: 6%; bottom: 20%; background: var(--kaigo-pink); }
.kaigo-wave { position: absolute; left: -5%; bottom: -95px; width: 110%; height: 180px; background: #fff; border-radius: 50% 50% 0 0 / 80% 80% 0 0; }

.kaigo-section { position: relative; padding: 105px 0; }
.kaigo-section--blue { background: var(--kaigo-blue-pale); }
.kaigo-section--cream { background: var(--kaigo-cream); }
.kaigo-eyebrow { margin: 0 0 8px; color: var(--kaigo-blue); font-size: 13px; font-weight: 800; letter-spacing: .18em; }
.kaigo-eyebrow--center, .kaigo-heading--center { text-align: center; }
.kaigo-heading { margin: 0 0 30px; font-size: clamp(34px, 4vw, 55px); font-weight: 800; line-height: 1.35; letter-spacing: .02em; }
.kaigo-heading em { color: var(--kaigo-blue); font-style: normal; }
.kaigo-note { margin: -14px 0 32px; color: var(--kaigo-muted); font-size: 12px; text-align: center; }
.kaigo-intro__inner { display: grid; grid-template-columns: 1fr 1fr; gap: 85px; align-items: center; }
.kaigo-intro__photo { position: relative; height: 480px; }
.kaigo-intro__photo::before { content: ""; position: absolute; inset: 24px -24px -24px 24px; z-index: -1; background: var(--kaigo-yellow); border-radius: 46% 54% 42% 58% / 50% 40% 60% 50%; }
.kaigo-intro__photo img { width: 100%; height: 100%; object-fit: cover; border-radius: 54% 46% 56% 44% / 41% 51% 49% 59%; }
.kaigo-intro__body > p:not(.kaigo-eyebrow) { color: var(--kaigo-muted); }
.kaigo-check-list { display: grid; gap: 9px; margin: 25px 0 0; padding: 0; list-style: none; font-weight: 700; }
.kaigo-check-list li::before { content: "✓"; display: inline-grid; place-items: center; width: 25px; height: 25px; margin-right: 10px; color: #fff; background: var(--kaigo-green); border-radius: 50%; }

.kaigo-guest-grid, .kaigo-program-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.kaigo-guest-slider { overflow: visible; }
.kaigo-guest-slider__pagination { display: none; }
.kaigo-guest-grid.swiper-wrapper { box-sizing: border-box; }
.kaigo-guest-card { overflow: hidden; background: #fff; border-radius: var(--kaigo-radius); box-shadow: var(--kaigo-shadow); }
.kaigo-page--event .kaigo-guest-card,
.kaigo-page--event .kaigo-program-card,
.kaigo-page--event .kaigo-booth-card,
.kaigo-page--event .kaigo-feature-card { transition: transform .25s ease-out, box-shadow .25s ease-out; }
.kaigo-page--event .kaigo-guest-card:hover,
.kaigo-page--event .kaigo-program-card:hover,
.kaigo-page--event .kaigo-booth-card:hover,
.kaigo-page--event .kaigo-feature-card:hover { transform: translateY(-4px); box-shadow: 0 14px 32px rgba(70,60,50,.12); }
.kaigo-guest-card__placeholder { display: grid; place-items: center; height: 300px; color: rgba(255,255,255,.9); font-size: 21px; font-weight: 800; line-height: 1.25; text-align: center; letter-spacing: .12em; }
.kaigo-guest-card__placeholder--pink { background: linear-gradient(145deg, #f7a9c4, var(--kaigo-pink)); }
.kaigo-guest-card__placeholder--yellow { background: linear-gradient(145deg, #ffe997, var(--kaigo-yellow)); }
.kaigo-guest-card__placeholder--green { background: linear-gradient(145deg, #9ce5c8, var(--kaigo-green)); }
.kaigo-guest-card__media {
  display: grid;
  place-items: center;
  height: 300px;
  overflow: hidden;
}
.kaigo-guest-card__media img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.kaigo-guest-card__media--gow { padding: 18px; background: #fff0f6; }
.kaigo-guest-card__media--tajima { background: #fff9df; }
.kaigo-guest-card__media--tajima img { object-fit: cover; object-position: center 35%; }
.kaigo-guest-card__media--hero { padding: 15px; background: #effbf6; }
.kaigo-guest-card__body { min-height: 148px; padding: 24px; }
.kaigo-tag { margin: 0 0 7px; color: var(--kaigo-blue); font-size: 11px; font-weight: 800; letter-spacing: .14em; }
.kaigo-guest-card h3 { margin: 0; font-size: 18px; line-height: 1.65; }

.kaigo-program-card { position: relative; display: flex; flex-direction: column; min-height: 390px; padding: 0; overflow: hidden; border: 2px solid; border-radius: var(--kaigo-radius); }
.kaigo-program-card::after { content: ""; position: absolute; right: -30px; bottom: -60px; width: 150px; height: 150px; background: currentColor; border-radius: 50%; opacity: .09; }
.kaigo-program-card--yellow { color: #b57900; background: #fffbec; border-color: #ffd764; }
.kaigo-program-card--blue { color: var(--kaigo-blue-dark); background: #effaff; border-color: #91daf1; }
.kaigo-program-card--pink { color: #b63268; background: #fff2f7; border-color: #f5a3c1; }
.kaigo-program-card__media { position: relative; z-index: 1; height: 220px; overflow: hidden; background: #fff; }
.kaigo-program-card__media img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center; }
.kaigo-program-card__media--illustration { padding: 14px; }
.kaigo-program-card__media--illustration img { object-fit: contain; }
.kaigo-program-card__body { position: relative; z-index: 1; display: flex; flex: 1; align-items: flex-start; padding: 25px 23px; }
.kaigo-program-card__number { margin-right: 18px; font-size: 46px; font-weight: 800; line-height: 1; opacity: .35; }
.kaigo-program-card p { margin: 0 0 9px; font-size: 12px; font-weight: 700; }
.kaigo-program-card h3 { margin: 0; color: var(--kaigo-ink); font-size: 20px; line-height: 1.55; }

.kaigo-split-heading { display: grid; grid-template-columns: 1.1fr .9fr; align-items: end; gap: 80px; margin-bottom: 45px; }
.kaigo-split-heading .kaigo-heading { margin-bottom: 0; }
.kaigo-split-heading > p { margin: 0 0 8px; color: var(--kaigo-muted); }
.kaigo-booth-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.kaigo-booth-card { min-height: 350px; padding: 0; overflow: hidden; background: #fff; border: 1px solid #e8e5dc; border-radius: 22px; box-shadow: 0 10px 30px rgba(91,94,65,.07); }
.kaigo-booth-card__media { height: 190px; overflow: hidden; background: #f5fafc; }
.kaigo-booth-card__media img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center; }
.kaigo-booth-card__body { padding: 23px 25px 26px; }
.kaigo-booth-card__icon { display: grid; place-items: center; width: 62px; height: 62px; margin-bottom: 20px; font-size: 31px; background: var(--kaigo-blue-pale); border-radius: 20px; }
.kaigo-booth-card:nth-child(3n+2) .kaigo-booth-card__icon { background: #fff3c9; }
.kaigo-booth-card:nth-child(3n+3) .kaigo-booth-card__icon { background: #ffe9f1; }
.kaigo-booth-card h3 { margin: 0 0 10px; font-size: 19px; line-height: 1.55; }
.kaigo-booth-card p { margin: 0; color: var(--kaigo-muted); font-size: 14px; }

.kaigo-event-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 28px; }
.kaigo-feature-card { overflow: hidden; border-radius: var(--kaigo-radius); box-shadow: var(--kaigo-shadow); }
.kaigo-feature-card__image { height: 280px; overflow: hidden; }
.kaigo-feature-card__image img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s; }
.kaigo-feature-card:hover img { transform: scale(1.04); }
.kaigo-feature-card__body { min-height: 258px; padding: 32px; }
.kaigo-feature-card--blue .kaigo-feature-card__body { background: var(--kaigo-blue-pale); }
.kaigo-feature-card--yellow .kaigo-feature-card__body { background: #fff7d8; }
.kaigo-feature-card__label { margin: 0 0 6px; color: var(--kaigo-blue-dark); font-size: 12px; font-weight: 800; }
.kaigo-feature-card h3 { margin: 0 0 12px; font-size: 30px; }
.kaigo-feature-card__body > p:last-child { margin: 0; color: var(--kaigo-muted); }

.kaigo-access { color: #fff; background: var(--kaigo-blue-dark); }
.kaigo-access__inner { display: grid; grid-template-columns: .85fr 1.15fr; gap: 70px; align-items: center; }
.kaigo-access .kaigo-heading, .kaigo-access h3 { color: #fff; }
.kaigo-access .kaigo-eyebrow { color: var(--kaigo-yellow); }
.kaigo-access h3 { margin: 0 0 5px; font-size: 24px; }
.kaigo-access__body > p { margin-top: 0; }
.kaigo-access__facts { margin: 25px 0 30px; border-top: 1px solid rgba(255,255,255,.3); }
.kaigo-access__facts div { display: grid; grid-template-columns: 90px 1fr; padding: 10px 0; border-bottom: 1px solid rgba(255,255,255,.3); }
.kaigo-access__facts dt { color: #a9e7fb; font-size: 13px; font-weight: 700; }
.kaigo-access__facts dd { margin: 0; font-weight: 700; }
.kaigo-access .kaigo-button--outline { color: #fff !important; border-color: #fff; }
.kaigo-access__photo { height: 470px; overflow: hidden; border: 8px solid rgba(255,255,255,.2); border-radius: 53% 47% 45% 55% / 50% 38% 62% 50%; }
.kaigo-access__photo img { width: 100%; height: 100%; object-fit: cover; }

.kaigo-cta { padding: 90px 0; color: #fff; text-align: center; background: linear-gradient(120deg, var(--kaigo-pink), #f589a7); }
.kaigo-cta p { margin: 0 0 10px; font-weight: 800; }
.kaigo-cta h2 { margin: 0 0 30px; font-size: clamp(34px, 4vw, 54px); line-height: 1.4; }
.kaigo-footer { padding: 40px 0; background: #fff; }
.kaigo-footer__inner { display: flex; align-items: center; gap: 45px; }
.kaigo-footer img { width: 250px; }
.kaigo-footer p { margin: 0; font-weight: 800; }
.kaigo-footer small { color: var(--kaigo-muted); }

.kaigo-reveal { opacity: 0; transform: translateY(35px); transition: opacity .7s ease, transform .7s ease; }
.kaigo-reveal.is-visible { opacity: 1; transform: none; }

/* Home page: first view and header navigation */
.kaigo-page--home .kaigo-header__inner { width: min(1380px, calc(100% - 40px)); }
.kaigo-page--home .kaigo-nav { gap: 12px; padding: 0; background: transparent; border-radius: 0; box-shadow: none; }
.kaigo-page--home .kaigo-nav a { display: inline-flex; align-items: center; justify-content: space-between; gap: 20px; min-width: 176px; padding: 12px 22px 12px 26px; text-align: left; border: 0; border-radius: 999px; transition: color .2s, transform .2s, box-shadow .2s; }
.kaigo-page--home .kaigo-nav a:nth-child(1) { color: var(--kaigo-blue-dark); background: linear-gradient(100deg, #dff5ff, #bcecff); box-shadow: 0 10px 24px rgba(7,157,217,.24); }
.kaigo-page--home .kaigo-nav a:nth-child(2) { color: #197451; background: linear-gradient(100deg, #dcf8ec, #aee9cf); box-shadow: 0 10px 24px rgba(82,191,145,.27); }
.kaigo-page--home .kaigo-nav a:nth-child(3) { color: #795800; background: linear-gradient(100deg, #ffe978, #ffd641); box-shadow: 0 10px 24px rgba(255,190,20,.3); }
.kaigo-page--home .kaigo-nav a::after { content: "→"; flex: 0 0 auto; color: currentColor; font-size: 18px; font-weight: 800; line-height: 1; }
.kaigo-page--home .kaigo-nav a:hover,
.kaigo-page--home .kaigo-nav a:focus-visible { transform: translateY(-3px); filter: saturate(1.08); }
.kaigo-page--home .kaigo-hero { min-height: 100svh; padding: 170px 0 30px; background: #fff; }
.kaigo-page--home .kaigo-hero__inner { grid-template-columns: .9fr 1.1fr; width: min(1380px, calc(100% - 40px)); min-height: calc(100svh - 200px); gap: 0; }
.kaigo-page--home .kaigo-hero__copy { position: relative; z-index: 3; }
.kaigo-page--home .kaigo-hero__visual { z-index: 2; height: clamp(560px, calc(100svh - 205px), 700px); margin-left: -100px; }
.kaigo-page--home .kaigo-hero__photo--main { right: -30px; bottom: 0; width: min(820px, 65vw); height: 100%; border: 0; border-radius: 0; box-shadow: none; transform: none; -webkit-mask-image: linear-gradient(to right, transparent 0%, rgba(0,0,0,.32) 9%, #000 24%); mask-image: linear-gradient(to right, transparent 0%, rgba(0,0,0,.32) 9%, #000 24%); }
.kaigo-page--home .kaigo-hero__photo--main img { object-position: 44% center; transform: none; }

.kaigo-category-nav { position: relative; z-index: 5; padding: 22px 0 70px; background: #fff; }
.kaigo-category-nav__heading { margin: 0 0 22px; color: var(--kaigo-ink); font-size: 22px; font-weight: 800; text-align: center; letter-spacing: .04em; }
.kaigo-category-nav__heading span { margin-inline: 10px; color: var(--kaigo-blue); font-weight: 500; }
.kaigo-category-nav__grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; }
.kaigo-category-card { --category-color: var(--kaigo-blue); display: flex; flex-direction: column; align-items: center; min-height: 250px; padding: 28px 16px 20px; color: var(--category-color) !important; text-align: center; text-decoration: none; background: #fff; border: 2px solid color-mix(in srgb, var(--category-color) 42%, white); border-radius: 18px; box-shadow: 0 9px 25px color-mix(in srgb, var(--category-color) 13%, transparent); transition: transform .2s, box-shadow .2s; }
.kaigo-category-card:hover,
.kaigo-category-card:focus-visible { outline: none; box-shadow: 0 15px 32px color-mix(in srgb, var(--category-color) 23%, transparent); transform: translateY(-5px); }
.kaigo-category-card--blue { --category-color: var(--kaigo-blue); }
.kaigo-category-card--green { --category-color: #28aa72; }
.kaigo-category-card--yellow { --category-color: #eba900; }
.kaigo-category-card--pink { --category-color: var(--kaigo-pink); }
.kaigo-category-card svg { width: 50px; height: 50px; margin-bottom: 15px; fill: none; stroke: currentColor; stroke-width: 2.4; stroke-linecap: round; stroke-linejoin: round; }
.kaigo-category-card strong { font-size: 21px; line-height: 1.5; }
.kaigo-category-card > span { min-height: 48px; margin-top: 8px; color: var(--kaigo-ink); font-size: 16px; font-weight: 700; line-height: 1.7; }
.kaigo-category-card b { display: grid; place-items: center; width: 34px; height: 34px; margin-top: auto; font-family: Arial, sans-serif; font-size: 29px; font-weight: 400; line-height: 1; border: 2px solid currentColor; border-radius: 50%; }

.kaigo-numbers { padding: 20px 0 90px; background: #fff; }
.kaigo-numbers__heading { margin: 0 0 26px; color: #111; font-size: 25px; font-weight: 800; text-align: center; letter-spacing: .04em; }
.kaigo-numbers__heading::before,
.kaigo-numbers__heading::after { content: ""; display: inline-block; width: 16px; height: 2px; margin: 0 18px 6px; background: var(--kaigo-blue); box-shadow: 7px -8px 0 -0.5px var(--kaigo-blue); transform: rotate(28deg); }
.kaigo-numbers__heading::after { transform: rotate(152deg); }
.kaigo-numbers__heading span,
.kaigo-numbers__heading em { color: var(--kaigo-blue); font-style: normal; }
.kaigo-numbers__heading strong { position: relative; z-index: 0; margin-left: 5px; }
.kaigo-numbers__heading strong::after { content: ""; position: absolute; left: 0; right: 0; bottom: -1px; z-index: -1; height: 8px; background: rgba(255,204,41,.58); border-radius: 99px; }
.kaigo-numbers__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.kaigo-number-card { --number-color: var(--kaigo-yellow); display: flex; flex-direction: column; min-height: 310px; padding: 25px 24px 20px; text-align: center; background: #fff; border: 2px solid color-mix(in srgb, var(--number-color) 42%, white); border-radius: 22px; box-shadow: 0 10px 28px color-mix(in srgb, var(--number-color) 11%, transparent); }
.kaigo-number-card--blue { --number-color: var(--kaigo-blue); }
.kaigo-number-card h3 { margin: 0 0 10px; color: #111; font-size: 18px; }
.kaigo-number-card__figure { display: flex; align-items: center; justify-content: center; gap: 8px; color: var(--number-color); }
.kaigo-number-card__figure svg { width: 68px; height: 68px; overflow: visible; fill: currentColor; }
.kaigo-number-card__figure ellipse { opacity: .18; }
.kaigo-number-card__star { fill: #fff; }
.kaigo-number-card__figure p { display: flex; align-items: flex-end; margin: 0; line-height: 1; }
.kaigo-number-card__figure strong { font-size: clamp(58px, 5vw, 76px); font-weight: 800; letter-spacing: -.07em; }
.kaigo-number-card__figure span { margin: 0 0 7px 8px; color: #111; font-size: 31px; }
.kaigo-number-card__message { margin: 15px 0 5px; color: #111; font-size: 16px; font-weight: 700; line-height: 1.7; }
.kaigo-number-card__message b { color: var(--number-color); }
.kaigo-number-card small { margin-top: auto; color: #888; font-size: 12px; }
.kaigo-number-card__career-body { display: flex; align-items: center; justify-content: center; gap: 16px; min-height: 100px; }
.kaigo-number-card__career-body svg { flex: 0 0 72px; width: 72px; height: 72px; fill: none; stroke: var(--number-color); stroke-width: 3; stroke-linecap: round; stroke-linejoin: round; }
.kaigo-number-card__career-body p { margin: 0; color: #111; font-size: 16px; font-weight: 700; line-height: 1.8; text-align: left; }
.kaigo-number-card__career-body strong { font-size: 18px; }

.kaigo-video-stories { position: relative; padding: 35px 0 100px; overflow: hidden; background: linear-gradient(180deg, #fff 0%, #f5fbff 100%); }
.kaigo-video-stories::before { content: ""; position: absolute; left: -80px; top: 40px; width: 180px; height: 180px; border: 3px dotted rgba(7,157,217,.18); border-radius: 50%; }
.kaigo-video-stories__label { width: fit-content; margin: 0 0 -30px 18px; padding: 5px 18px; color: var(--kaigo-blue); font-size: 18px; font-weight: 700; background: #fff; border: 2px solid #8fdaf2; border-radius: 50%; transform: rotate(-7deg); }
.kaigo-video-stories__heading { margin: 0; color: var(--kaigo-ink); font-size: 28px; font-weight: 800; text-align: center; letter-spacing: .05em; }
.kaigo-video-stories__heading::before,
.kaigo-video-stories__heading::after { content: ""; display: inline-block; width: 14px; height: 2px; margin: 0 20px 8px; background: var(--kaigo-blue); box-shadow: 6px -8px 0 -0.5px var(--kaigo-blue); transform: rotate(28deg); }
.kaigo-video-stories__heading::after { transform: rotate(152deg); }
.kaigo-video-stories__lead { margin: 6px 0 26px; color: var(--kaigo-muted); font-size: 16px; font-weight: 700; text-align: center; }
.kaigo-video-stories__grid { position: relative; display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.kaigo-video-card { overflow: hidden; background: #fff; border-radius: 20px; box-shadow: var(--kaigo-shadow); }
.kaigo-video-card__player { position: relative; aspect-ratio: 16 / 9; overflow: hidden; background: #dff5ff; }
.kaigo-video-card__player iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.kaigo-video-card h3 { margin: 0; padding: 20px 20px 5px; color: var(--kaigo-blue-dark); font-size: 18px; line-height: 1.6; }
.kaigo-video-card p { min-height: 62px; margin: 0; padding: 0 20px 20px; color: var(--kaigo-ink); font-size: 16px; font-weight: 600; line-height: 1.7; }

.kaigo-next-step { padding: 35px 0 95px; background: #fff; }
.kaigo-next-step__heading { margin: 0 0 28px; color: var(--kaigo-ink); font-size: 28px; font-weight: 800; text-align: center; letter-spacing: .06em; }
.kaigo-next-step__heading::before,
.kaigo-next-step__heading::after { content: ""; display: inline-block; width: 14px; height: 2px; margin: 0 20px 8px; background: var(--kaigo-yellow); box-shadow: 6px -8px 0 -0.5px var(--kaigo-blue); transform: rotate(28deg); }
.kaigo-next-step__heading::after { transform: rotate(152deg); }
.kaigo-next-step__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.kaigo-next-card { display: grid; grid-template-columns: 38% 62%; min-height: 235px; overflow: hidden; background: #fff; border: 1px solid #e9edf0; border-radius: 20px; box-shadow: 0 10px 30px rgba(33,105,138,.11); }
.kaigo-next-card__image { min-height: 235px; overflow: hidden; }
.kaigo-next-card__image img { width: 100%; height: 100%; object-fit: cover; }
.kaigo-next-card__body { display: flex; flex-direction: column; padding: 22px 18px 18px; }
.kaigo-next-card h3 { margin: 0 0 8px; color: var(--kaigo-blue); font-size: 20px; }
.kaigo-next-card p { margin: 0 0 15px; color: var(--kaigo-ink); font-size: 16px; font-weight: 600; line-height: 1.75; }
.kaigo-next-card__button { display: inline-flex; align-items: center; justify-content: center; gap: 13px; min-height: 44px; margin-top: auto; padding: 9px 15px; color: var(--kaigo-ink) !important; font-size: 16px; font-weight: 800; text-align: center; text-decoration: none; border-radius: 999px; transition: transform .2s, box-shadow .2s; }
.kaigo-next-card__button:hover,
.kaigo-next-card__button:focus-visible { transform: translateY(-3px); }
.kaigo-next-card__button--yellow { background: linear-gradient(100deg, #ffe978, #ffd641); box-shadow: 0 8px 18px rgba(255,190,20,.24); }
.kaigo-next-card__button--blue { color: #fff !important; background: linear-gradient(100deg, var(--kaigo-blue), #34c3e8); box-shadow: 0 8px 18px rgba(7,157,217,.22); }

.kaigo-placeholder-page { min-height: 100vh; background: linear-gradient(145deg, #fff 0%, var(--kaigo-blue-pale) 100%); }
.kaigo-placeholder-header { padding: 22px 0; background: #fff; box-shadow: 0 5px 22px rgba(33,105,138,.08); }
.kaigo-placeholder-header img { width: min(360px, 70vw); }
.kaigo-placeholder-main { display: grid; place-items: center; min-height: calc(100vh - 145px); padding: 70px 0; text-align: center; }
.kaigo-placeholder-main__panel { width: min(680px, calc(100% - 32px)); padding: 55px 35px; background: #fff; border-radius: 28px; box-shadow: var(--kaigo-shadow); }
.kaigo-placeholder-main__label { margin: 0 0 8px; color: var(--kaigo-blue); font-weight: 800; letter-spacing: .12em; }
.kaigo-placeholder-main h1 { margin: 0 0 18px; color: var(--kaigo-ink); font-size: clamp(36px, 5vw, 56px); }
.kaigo-placeholder-main p { margin: 0 0 28px; color: var(--kaigo-muted); font-size: 16px; }

.kaigo-info-hub { padding: 46px 0 0; overflow: hidden; background: linear-gradient(180deg, #e9f8ff 0%, #f5fcff 70%, #fff 70%); }
.kaigo-info-hub__heading { margin: 0 0 25px; color: var(--kaigo-ink); font-size: 28px; font-weight: 800; text-align: center; letter-spacing: .06em; }
.kaigo-info-hub__heading::before,
.kaigo-info-hub__heading::after { content: ""; display: inline-block; width: 14px; height: 2px; margin: 0 20px 8px; background: var(--kaigo-blue); box-shadow: 6px -8px 0 -0.5px var(--kaigo-yellow); transform: rotate(28deg); }
.kaigo-info-hub__heading::after { transform: rotate(152deg); }
.kaigo-info-hub__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
.kaigo-info-card { display: grid; grid-template-columns: 76px 1fr; align-items: center; gap: 16px; min-height: 130px; padding: 22px; color: var(--kaigo-blue) !important; text-decoration: none; background: #fff; border-radius: 20px; box-shadow: 0 10px 28px rgba(33,105,138,.1); transition: transform .2s, box-shadow .2s; }
.kaigo-info-card:hover,
.kaigo-info-card:focus-visible { outline: none; box-shadow: 0 15px 34px rgba(33,105,138,.18); transform: translateY(-4px); }
.kaigo-info-card svg { width: 72px; height: 72px; fill: none; stroke: currentColor; stroke-width: 2.7; stroke-linecap: round; stroke-linejoin: round; }
.kaigo-info-card:nth-child(2) svg path:first-child { fill: #fff7ca; }
.kaigo-info-card h3 { margin: 0 0 5px; font-size: 18px; line-height: 1.5; }
.kaigo-info-card p { margin: 0 0 4px; color: var(--kaigo-ink); font-size: 16px; line-height: 1.55; }
.kaigo-info-card small { display: block; margin-bottom: 10px; color: var(--kaigo-muted); font-size: 13px; line-height: 1.45; }
.kaigo-info-card span { display: inline-flex; align-items: center; justify-content: center; gap: 10px; padding: 7px 16px; color: #fff; font-size: 16px; font-weight: 800; line-height: 1.4; background: linear-gradient(100deg, var(--kaigo-blue), #34c3e8); border-radius: 999px; box-shadow: 0 7px 16px rgba(7,157,217,.2); }
.kaigo-info-card b { font-size: 21px; font-weight: 400; line-height: 1; }

.kaigo-guide-page { min-height: 100vh; color: var(--kaigo-ink); background: #f7fcff; }
.kaigo-guide-header { padding: 16px 0; background: #fff; box-shadow: 0 5px 22px rgba(33,105,138,.08); }
.kaigo-guide-header__inner { display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.kaigo-guide-header img { display: block; width: min(300px, 62vw); }
.kaigo-guide-header__back { color: var(--kaigo-blue-dark); font-weight: 800; text-decoration: none; }
.kaigo-guide-hero { position: relative; overflow: hidden; padding: 70px 0 62px; text-align: left; background: radial-gradient(circle at 92% 12%, rgba(246,201,76,.25) 0 90px, transparent 91px), linear-gradient(145deg, #fff 0%, #e7f8ff 72%, #edf9f2 100%); }
.kaigo-guide-hero__layout { display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(380px, .92fr); align-items: center; gap: 58px; }
.kaigo-guide-hero__copy { min-width: 0; }
.kaigo-guide-hero__label { display: inline-block; margin: 0 0 14px; padding: 7px 20px; color: var(--kaigo-blue-dark); font-weight: 800; background: #fff; border-radius: 999px; }
.kaigo-guide-hero h1 { max-width: none; margin: 0 0 20px; font-size: clamp(36px, 3.7vw, 52px); line-height: 1.42; text-align: left; letter-spacing: .015em; word-break: normal; overflow-wrap: normal; line-break: strict; }
.kaigo-guide-hero h1 > span { display: block; width: fit-content; white-space: nowrap; }
.kaigo-guide-hero__lead { max-width: 46em; margin: 0; font-size: 18px; font-weight: 700; line-height: 2; text-align: left; word-break: normal; overflow-wrap: break-word; line-break: strict; }
.kaigo-guide-role { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 14px; max-width: none; margin: 34px 0 0; }
.kaigo-guide-role > div { display: grid; gap: 5px; min-height: 112px; align-content: center; padding: 18px; text-align: left; background: #fff; border-radius: 20px; box-shadow: 0 9px 26px rgba(33,105,138,.1); }
.kaigo-guide-role strong { color: var(--kaigo-blue-dark); font-size: 18px; }
.kaigo-guide-role span { font-size: 16px; line-height: 1.6; }
.kaigo-guide-role__arrow { color: var(--kaigo-blue); font-size: 28px !important; font-weight: 800; }
.kaigo-guide-hero__photo { position: relative; height: 590px; margin: 0; overflow: hidden; border: 10px solid rgba(255,255,255,.94); border-radius: 42% 30% 38% 34% / 34% 42% 36% 46%; box-shadow: 0 20px 44px rgba(33,105,138,.16); }
.kaigo-guide-hero__photo::after { position: absolute; right: 24px; bottom: 22px; width: 82px; height: 82px; content: ""; background: rgba(243,160,196,.45); border: 7px solid rgba(255,255,255,.88); border-radius: 50%; }
.kaigo-guide-hero__photo img { width: 100%; height: 100%; object-fit: cover; object-position: 53% center; }
@media (max-width: 1100px) {
  .kaigo-guide-hero__layout { grid-template-columns: minmax(0, 1fr) minmax(340px, .85fr); gap: 34px; }
  .kaigo-guide-hero__photo { height: 520px; }
}
@media (max-width: 900px) {
  .kaigo-guide-hero__layout { grid-template-columns: 1fr; gap: 38px; }
  .kaigo-guide-hero h1 { max-width: none; }
  .kaigo-guide-hero__lead { max-width: none; }
  .kaigo-guide-hero__photo { width: 100%; height: 440px; border-radius: 28px; }
}
.kaigo-guide-content { padding: 70px 0 80px; }
.kaigo-guide-content h2 { margin: 0 0 34px; font-size: 30px; text-align: center; }
.kaigo-guide-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 24px; }
.kaigo-guide-card { position: relative; display: flex; flex-direction: column; min-height: 330px; padding: 36px; background: #fff; border: 2px solid #cdeefa; border-radius: 24px; box-shadow: 0 10px 28px rgba(33,105,138,.09); }
.kaigo-guide-card:nth-child(2) { border-color: #bfead9; }
.kaigo-guide-card:nth-child(3) { border-color: #ffe3a0; }
.kaigo-guide-card:nth-child(4) { border-color: #e3cff8; }
.kaigo-guide-card__number { display: grid; place-items: center; width: 52px; height: 52px; margin-bottom: 17px; color: #fff; font-size: 16px; font-weight: 800; background: var(--kaigo-blue); border-radius: 50%; }
.kaigo-guide-card h3 { margin: 0 0 12px; color: var(--kaigo-blue-dark); font-size: 26px; }
.kaigo-guide-card p { margin: 0 0 28px; font-size: 16px; line-height: 1.9; }
.kaigo-guide-official { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 54px; margin-top: auto; padding: 12px 20px; color: #fff !important; font-size: 16px; font-weight: 700; text-align: center; text-decoration: none; background: linear-gradient(100deg, var(--kaigo-blue), #34c3e8); border-radius: 999px; box-shadow: 0 8px 20px rgba(7,157,217,.22); transition: transform .2s, box-shadow .2s; }
.kaigo-guide-official:hover, .kaigo-guide-official:focus-visible { outline: none; box-shadow: 0 12px 26px rgba(7,157,217,.3); transform: translateY(-3px); }
.kaigo-guide-official strong { padding: 2px 8px; color: var(--kaigo-blue-dark); background: #fff; border-radius: 999px; }
.kaigo-guide-note { max-width: 980px; margin: 34px auto 28px; color: var(--kaigo-muted); font-size: 16px; line-height: 1.8; text-align: center; word-break: normal; overflow-wrap: normal; line-break: strict; text-wrap: pretty; }
.kaigo-guide-home { margin-inline: auto; }
.kaigo-guide-footer { padding: 28px 0; color: #fff; text-align: center; background: var(--kaigo-blue-dark); }
.kaigo-guide-footer p { margin: 0; font-size: 16px; font-weight: 700; }
.kaigo-job-check { position: relative; display: grid; grid-template-columns: 120px 1fr 100px minmax(260px, 340px) 170px; align-items: center; gap: 24px; min-height: 165px; margin-top: 16px; padding: 15px 15px 0; background: #fff; border-radius: 24px 24px 0 0; box-shadow: 0 -4px 28px rgba(33,105,138,.08); }
.kaigo-job-check__bubble { display: grid; place-items: center; width: 110px; height: 110px; color: var(--kaigo-ink); font-size: 16px; font-weight: 800; line-height: 1.35; text-align: center; background: #ffe36b; border-radius: 50%; transform: rotate(-8deg); }
.kaigo-job-check__copy p { margin: 0; color: var(--kaigo-ink); font-size: 16px; font-weight: 700; }
.kaigo-job-check__copy h3 { margin: 2px 0 0; color: var(--kaigo-blue); font-size: 32px; line-height: 1.35; }
.kaigo-job-check__icon { width: 84px; height: 84px; fill: none; stroke: #88939b; stroke-width: 2.4; stroke-linecap: round; stroke-linejoin: round; }
.kaigo-job-check__button { display: inline-flex; align-items: center; justify-content: center; gap: 26px; min-height: 56px; padding: 12px 25px; color: var(--kaigo-ink) !important; font-size: 16px; font-weight: 800; text-decoration: none; background: linear-gradient(100deg, #ffe978, #ffd641); border-radius: 999px; box-shadow: 0 10px 24px rgba(255,190,20,.27); transition: transform .2s, box-shadow .2s; }
.kaigo-job-check__button:hover,
.kaigo-job-check__button:focus-visible { outline: none; box-shadow: 0 14px 28px rgba(255,190,20,.36); transform: translateY(-3px); }
.kaigo-job-check__button span { font-size: 24px; font-weight: 400; }
.kaigo-job-check__photo { align-self: end; width: 170px; height: 145px; overflow: hidden; border: 5px solid #fff; border-radius: 80px 80px 0 0; box-shadow: 0 0 0 2px #ffe36b; }
.kaigo-job-check__photo img { width: 100%; height: 100%; object-fit: cover; object-position: 40% center; }

/* Consultation and support */
.support-page { min-height: 100vh; color: var(--kaigo-ink); background: #fff; }
.support-eyebrow { display: inline-flex; margin: 0 0 15px; padding: 7px 18px; color: var(--kaigo-blue-dark); font-size: 16px; font-weight: 800; letter-spacing: .08em; background: #eaf8ff; border-radius: 999px; }
.support-eyebrow--center { display: flex; width: fit-content; margin-inline: auto; }
.support-hero { position: relative; overflow: hidden; padding: 76px 0 86px; background: radial-gradient(circle at 7% 80%, rgba(246,201,76,.25) 0 70px, transparent 71px), linear-gradient(145deg, #fff 0%, #eaf8ff 66%, #edf9f2 100%); }
.support-hero__inner { display: grid; grid-template-columns: minmax(0, .95fr) minmax(430px, 1.05fr); align-items: center; gap: 68px; }
.support-hero__copy { min-width: 0; }
.support-hero h1 { margin: 0 0 22px; color: var(--kaigo-blue); font-size: clamp(46px, 5vw, 68px); line-height: 1.25; letter-spacing: .01em; }
.support-hero h1 > span { display: inline-block; white-space: nowrap; }
.support-hero h2 { margin: 0 0 18px; font-size: clamp(28px, 2.55vw, 36px); line-height: 1.55; letter-spacing: .01em; word-break: normal; overflow-wrap: normal; line-break: strict; }
.support-hero h2 > span { display: block; }
.support-hero__questions { display: flex; flex-wrap: wrap; column-gap: .45em; margin: 0 0 26px; color: #bd3f70; font-size: 18px; font-weight: 800; line-height: 1.8; }
.support-hero__questions > span { display: inline-block; white-space: nowrap; }
.support-hero__lead { max-width: 43em; }
.support-hero__lead p { margin: 0; font-size: 17px; line-height: 1.95; text-align: left; word-break: normal; overflow-wrap: break-word; line-break: strict; }
.support-hero__lead p + p { margin-top: 12px; }
.support-hero__photo { position: relative; height: 570px; margin: 0; overflow: hidden; border: 10px solid rgba(255,255,255,.94); border-radius: 44% 31% 40% 35% / 38% 44% 36% 46%; box-shadow: 0 20px 44px rgba(33,105,138,.16); }
.support-hero__photo::after { position: absolute; right: 24px; bottom: 20px; width: 76px; height: 76px; content: ""; background: rgba(243,160,196,.44); border: 7px solid rgba(255,255,255,.9); border-radius: 50%; }
.support-hero__photo img { width: 100%; height: 100%; object-fit: cover; object-position: 58% center; }
.support-choices { padding: 104px 0 116px; background: #f8f6f1; }
.support-choices h2 { margin: 0 0 48px; font-size: clamp(34px, 4vw, 50px); line-height: 1.45; text-align: center; }
.support-choice-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 28px; }
.support-choice-card { --support-color: var(--kaigo-blue); --support-pale: #eaf8ff; position: relative; display: flex; flex-direction: column; min-height: 500px; padding: 34px 30px 30px; overflow: hidden; background: linear-gradient(145deg, #fff, var(--support-pale)); border: 2px solid color-mix(in srgb, var(--support-color) 24%, white); border-radius: 26px; box-shadow: 0 12px 30px rgba(70,60,50,.08); }
.support-choice-card--yellow { --support-color: var(--kaigo-yellow); --support-pale: #fff8df; }
.support-choice-card--green { --support-color: var(--kaigo-green); --support-pale: #edf9f2; }
.support-choice-card__number { color: color-mix(in srgb, var(--support-color) 82%, #17364a); font-size: 16px; font-weight: 800; letter-spacing: .12em; }
.support-choice-card__icon { display: grid; place-items: center; width: 66px; height: 66px; margin: 18px 0 24px; color: #fff; font-size: 34px; font-weight: 800; background: var(--support-color); border-radius: 22px; box-shadow: 0 9px 20px color-mix(in srgb, var(--support-color) 26%, transparent); }
.support-choice-card--yellow .support-choice-card__icon { color: var(--kaigo-ink); }
.support-choice-card h3 { margin: 0 0 14px; font-size: 26px; line-height: 1.55; }
.support-choice-card p { margin: 0 0 26px; font-size: 16px; line-height: 1.85; }
.support-choice-card > a, .support-choice-card__links a { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 54px; margin-top: auto; padding: 11px 18px; color: #fff !important; font-size: 16px; font-weight: 800; line-height: 1.5; text-decoration: none; background: var(--support-color); border-radius: 999px; box-shadow: 0 8px 20px color-mix(in srgb, var(--support-color) 27%, transparent); transition: transform .22s ease, box-shadow .22s ease; }
.support-choice-card--yellow > a, .support-choice-card--yellow .support-choice-card__links a { color: var(--kaigo-ink) !important; }
.support-choice-card > a:hover, .support-choice-card > a:focus-visible, .support-choice-card__links a:hover, .support-choice-card__links a:focus-visible { outline: 3px solid color-mix(in srgb, var(--support-color) 24%, transparent); outline-offset: 3px; transform: translateY(-2px); }
.support-choice-card__links { display: grid; gap: 11px; margin-top: auto; }
.support-choice-card__links a { margin-top: 0; }
.support-choice-card small { margin-top: 16px; color: var(--kaigo-muted); font-size: 14px; line-height: 1.6; }
.support-official { padding: 100px 0 80px; background: #f3f8fb; }
.support-official__panel { display: grid; grid-template-columns: 1fr minmax(300px, 380px); align-items: center; gap: 58px; padding: 48px 52px; background: linear-gradient(135deg, #fff, #edf9f2); border: 2px solid rgba(117,197,154,.28); border-radius: 28px; box-shadow: 0 14px 34px rgba(70,60,50,.09); }
.support-official h2 { margin: 0 0 16px; font-size: clamp(30px, 3.5vw, 46px); line-height: 1.5; word-break: normal; overflow-wrap: normal; line-break: strict; }
.support-official h2 > span { display: block; }
.support-official__panel p:last-child { max-width: 44em; margin: 0; font-size: 17px; line-height: 1.9; }
.support-official__button { display: flex; align-items: center; justify-content: center; min-height: 78px; padding: 15px 26px; color: #fff !important; font-size: 17px; font-weight: 800; line-height: 1.6; text-align: center; text-decoration: none; background: var(--kaigo-green); border-radius: 999px; box-shadow: 0 12px 26px rgba(82,191,145,.28); transition: transform .22s ease, box-shadow .22s ease; }
.support-official__button:hover, .support-official__button:focus-visible { outline: 3px solid rgba(82,191,145,.22); outline-offset: 4px; box-shadow: 0 16px 30px rgba(82,191,145,.34); transform: translateY(-3px); }
.support-home { margin: 42px auto 0; }

/* Qualification and financial support */
.funding-page { min-height: 100vh; color: var(--kaigo-ink); background: #fff; }
.funding-eyebrow { display: inline-flex; margin: 0 0 16px; padding: 7px 18px; color: #8a6700; font-size: 16px; font-weight: 800; letter-spacing: .08em; background: #fff8df; border-radius: 999px; }
.funding-eyebrow--center { display: flex; width: fit-content; margin-inline: auto; }
.funding-hero { position: relative; overflow: hidden; padding: 76px 0 88px; background: radial-gradient(circle at 6% 78%, rgba(243,160,196,.2) 0 72px, transparent 73px), linear-gradient(145deg, #fff 0%, #fff8df 55%, #eaf8ff 100%); }
.funding-hero__inner { display: grid; grid-template-columns: minmax(0, 1fr) minmax(420px, .95fr); align-items: center; gap: 64px; }
.funding-hero h1 { margin: 0 0 24px; font-size: clamp(34px, 3.5vw, 50px); line-height: 1.38; letter-spacing: .01em; word-break: normal; overflow-wrap: normal; line-break: strict; }
.funding-hero h1 > span { display: block; width: fit-content; white-space: nowrap; }
.funding-hero__lead { max-width: 46em; }
.funding-hero__lead p { margin: 0; font-size: 17px; line-height: 1.95; text-align: left; word-break: normal; overflow-wrap: break-word; line-break: strict; }
.funding-hero__lead p + p { margin-top: 14px; }
.funding-hero__photo { position: relative; height: 570px; margin: 0; overflow: hidden; border: 10px solid rgba(255,255,255,.94); border-radius: 42% 31% 38% 35% / 35% 43% 37% 46%; box-shadow: 0 20px 44px rgba(33,105,138,.15); }
.funding-hero__photo::after { position: absolute; right: 22px; bottom: 20px; width: 74px; height: 74px; content: ""; background: rgba(117,197,154,.45); border: 7px solid rgba(255,255,255,.9); border-radius: 50%; }
.funding-hero__photo img { width: 100%; height: 100%; object-fit: cover; object-position: 54% center; }
.funding-main { padding: 104px 0 112px; background: #f8f6f1; }
.funding-main h2 { margin: 0 0 48px; font-size: clamp(34px, 4vw, 50px); line-height: 1.45; text-align: center; }
.funding-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 28px; }
.funding-card { --funding-color: var(--kaigo-blue); --funding-pale: #eaf8ff; display: flex; flex-direction: column; min-height: 590px; padding: 34px 30px 30px; background: linear-gradient(145deg, #fff, var(--funding-pale)); border: 2px solid color-mix(in srgb, var(--funding-color) 24%, white); border-radius: 26px; box-shadow: 0 12px 30px rgba(70,60,50,.08); }
.funding-card--yellow { --funding-color: var(--kaigo-yellow); --funding-pale: #fff8df; }
.funding-card--green { --funding-color: var(--kaigo-green); --funding-pale: #edf9f2; }
.funding-card__number { color: color-mix(in srgb, var(--funding-color) 78%, #17364a); font-size: 16px; font-weight: 800; letter-spacing: .12em; }
.funding-card__purpose { width: fit-content; margin: 18px 0 22px !important; padding: 8px 14px; color: color-mix(in srgb, var(--funding-color) 72%, #17364a); font-weight: 800; background: #fff; border-radius: 999px; }
.funding-card h3 { margin: 0 0 18px; font-size: 25px; line-height: 1.55; }
.funding-card h3 > span { display: block; }
.funding-card > p { margin: 0 0 18px; font-size: 16px; line-height: 1.85; }
.funding-card__note { padding: 13px 15px; color: #765900; font-weight: 700; background: #fff8df; border-radius: 16px; }
.funding-card > a { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 58px; margin-top: auto; padding: 11px 18px; color: #fff !important; font-size: 16px; font-weight: 800; line-height: 1.5; text-decoration: none; background: var(--funding-color); border-radius: 999px; box-shadow: 0 8px 20px color-mix(in srgb, var(--funding-color) 27%, transparent); transition: transform .22s ease, box-shadow .22s ease; }
.funding-card--yellow > a { color: var(--kaigo-ink) !important; }
.funding-card > a:hover, .funding-card > a:focus-visible { outline: 3px solid color-mix(in srgb, var(--funding-color) 24%, transparent); outline-offset: 3px; transform: translateY(-2px); }
.funding-card small { margin-top: 15px; color: var(--kaigo-muted); font-size: 14px; line-height: 1.6; }
.funding-main__notice { max-width: 58em; margin: 36px auto 0; color: var(--kaigo-muted); font-size: 16px; line-height: 1.8; text-align: center; text-wrap: pretty; }
.funding-education { padding: 96px 0 76px; background: #f3f8fb; }
.funding-education__panel { display: grid; grid-template-columns: 86px 1fr minmax(280px, 360px); align-items: center; gap: 34px; padding: 42px 46px; background: #fff; border: 2px solid rgba(79,169,232,.2); border-radius: 26px; box-shadow: 0 12px 30px rgba(70,60,50,.08); }
.funding-education__mark { display: grid; place-items: center; width: 76px; height: 76px; color: var(--kaigo-blue-dark); font-size: 40px; font-weight: 500; background: #eaf8ff; border-radius: 24px; }
.funding-education__label { margin: 0 0 8px; color: var(--kaigo-blue-dark); font-size: 16px; font-weight: 800; }
.funding-education h2 { margin: 0 0 14px; font-size: clamp(27px, 3vw, 38px); line-height: 1.5; }
.funding-education h2 > span { display: block; width: fit-content; white-space: nowrap; }
.funding-education__copy > p:not(.funding-education__label) { margin: 0; font-size: 16px; line-height: 1.85; }
.funding-education__caution { margin-top: 12px !important; padding-left: 13px; font-weight: 800; border-left: 5px solid var(--kaigo-yellow); }
.funding-education__panel > a { display: flex; align-items: center; justify-content: space-between; gap: 14px; min-height: 62px; padding: 13px 21px; color: var(--kaigo-blue-dark) !important; font-size: 16px; font-weight: 800; line-height: 1.55; text-decoration: none; background: #eaf8ff; border: 2px solid var(--kaigo-blue); border-radius: 999px; transition: color .22s ease, background-color .22s ease, transform .22s ease; }
.funding-education__panel > a:hover, .funding-education__panel > a:focus-visible { color: #fff !important; outline: none; background: var(--kaigo-blue); transform: translateY(-2px); }
.funding-home { margin: 40px auto 0; }

@media (max-width: 1023px) {
  .funding-hero__inner { grid-template-columns: 1fr; gap: 44px; }
  .funding-hero__photo { width: min(100%, 760px); height: 500px; margin-inline: auto; border-radius: 30px; }
  .funding-grid { grid-template-columns: 1fr; width: min(100%, 720px); margin-inline: auto; }
  .funding-card { min-height: 0; }
  .funding-education__panel { grid-template-columns: 76px 1fr; }
  .funding-education__panel > a { grid-column: 2; width: min(100%, 440px); }
}
@media (max-width: 639px) {
  .funding-hero { padding: 54px 0 66px; }
  .funding-hero h1 { font-size: clamp(27px, 8.4vw, 38px); line-height: 1.55; }
  .funding-hero h1 > span { white-space: normal; }
  .funding-hero__lead p { font-size: 16px; line-height: 1.9; }
  .funding-hero__photo { height: 300px; border-width: 7px; border-radius: 22px; }
  .funding-hero__photo::after { right: 13px; bottom: 12px; width: 52px; height: 52px; border-width: 5px; }
  .funding-main { padding: 72px 0 80px; }
  .funding-main h2 { margin-bottom: 32px; font-size: 32px; }
  .funding-grid { gap: 20px; }
  .funding-card { padding: 28px 23px 25px; border-radius: 22px; }
  .funding-card h3 { font-size: 23px; }
  .funding-card > a { border-radius: 20px; }
  .funding-education { padding: 72px 0 62px; }
  .funding-education__panel { grid-template-columns: 1fr; gap: 22px; padding: 28px 23px; border-radius: 22px; }
  .funding-education__mark { width: 64px; height: 64px; }
  .funding-education h2 { font-size: 27px; }
  .funding-education__panel > a { grid-column: auto; width: 100%; border-radius: 20px; }
  .funding-home { width: 100%; }
}

@media (max-width: 1023px) {
  .support-hero__inner { grid-template-columns: 1fr; gap: 44px; }
  .support-hero__photo { width: min(100%, 760px); height: 500px; margin-inline: auto; border-radius: 30px; }
  .support-choice-grid { grid-template-columns: 1fr; width: min(100%, 720px); margin-inline: auto; }
  .support-choice-card { min-height: 0; }
  .support-official__panel { grid-template-columns: 1fr; }
  .support-official__button { width: min(100%, 440px); }
}
@media (max-width: 639px) {
  .support-hero { padding: 54px 0 66px; }
  .support-hero h1 { font-size: clamp(38px, 12vw, 48px); }
  .support-hero h2 { font-size: 27px; }
  .support-hero h2 > span { display: block; width: fit-content; white-space: nowrap; }
  .support-hero__questions { font-size: 16px; }
  .support-hero__lead p { font-size: 16px; line-height: 1.9; }
  .support-hero__photo { height: 300px; border-width: 7px; border-radius: 22px; }
  .support-hero__photo::after { right: 13px; bottom: 12px; width: 52px; height: 52px; border-width: 5px; }
  .support-choices { padding: 72px 0 80px; }
  .support-choices h2 { margin-bottom: 32px; font-size: 32px; }
  .support-choice-grid { gap: 20px; }
  .support-choice-card { padding: 28px 23px 25px; border-radius: 22px; }
  .support-choice-card h3 { font-size: 23px; }
  .support-choice-card > a, .support-choice-card__links a { min-height: 58px; font-size: 16px; border-radius: 20px; }
  .support-official { padding: 72px 0 62px; }
  .support-official__panel { gap: 30px; padding: 30px 23px; border-radius: 22px; }
  .support-official h2 { font-size: 29px; }
  .support-official h2 > span { display: inline; }
  .support-official__panel p:last-child { font-size: 16px; }
  .support-official__button { min-height: 66px; font-size: 16px; }
  .support-home { width: 100%; }
}

@media (min-width: 1024px) {
  .kaigo-hero__catch--work { white-space: nowrap; }
  .kaigo-page,
  .kaigo-page small,
  .kaigo-nav,
  .kaigo-hero__lead,
  .kaigo-event-facts__date span,
  .kaigo-event-facts__date small,
  .kaigo-event-facts__place small,
  .kaigo-eyebrow,
  .kaigo-note,
  .kaigo-tag,
  .kaigo-program-card p,
  .kaigo-booth-card p,
  .kaigo-feature-card__label,
  .kaigo-access__facts dt,
  .kaigo-footer small {
    font-size: 16px !important;
  }
}

@media (max-width: 1023px) {
  .kaigo-header__inner { width: calc(100% - 28px); height: 136px; }
  .kaigo-header__brand { width: 360px; max-width: 60vw; }
  .kaigo-menu-button { position: relative; z-index: 3; display: grid; gap: 5px; width: 52px; height: 52px; padding: 12px 11px 8px; color: var(--kaigo-ink); background: #fff; border: 0; border-radius: 50%; box-shadow: var(--kaigo-shadow); cursor: pointer; }
  .kaigo-menu-button span:not(.kaigo-menu-button__label) { display: block; width: 27px; height: 2px; background: currentColor; transition: transform .25s, opacity .25s; }
  .kaigo-menu-button__label { font-size: 8px; font-weight: 800; line-height: 1; }
  .kaigo-menu-button[aria-expanded="true"] span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
  .kaigo-menu-button[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
  .kaigo-menu-button[aria-expanded="true"] span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }
  .kaigo-nav { position: fixed; inset: 0; display: grid; align-content: center; gap: 0; padding: 80px 35px; background: rgba(255,255,255,.98); border-radius: 0; opacity: 0; visibility: hidden; transform: translateY(-10px); transition: .25s; }
  .kaigo-nav.is-open { opacity: 1; visibility: visible; transform: none; }
  .kaigo-nav a { padding: 16px 5px; font-size: 18px; text-align: center; border-bottom: 1px solid #dcecf3; }
  .kaigo-page--home .kaigo-nav { gap: 12px; padding: 120px 28px 60px; background: rgba(255,255,255,.98); }
  .kaigo-page--home .kaigo-nav a { width: min(100%, 420px); margin-inline: auto; padding: 14px 24px 14px 28px; border: 0; }
  .kaigo-page--home .kaigo-hero__inner { grid-template-columns: .9fr 1.1fr; width: min(100% - 28px, 900px); }
  .kaigo-page--home .kaigo-hero__visual { height: 500px; }
  .kaigo-page--home .kaigo-hero__photo--main { right: -120px; width: 610px; height: 500px; }
  .kaigo-category-nav__grid { grid-template-columns: repeat(2, 1fr); }
  .kaigo-numbers__grid { grid-template-columns: 1fr; width: min(100%, 620px); margin-inline: auto; }
  .kaigo-video-stories__label { margin: 0 auto 16px; }
  .kaigo-video-stories__grid { grid-template-columns: 1fr; width: min(100%, 680px); margin-inline: auto; }
  .kaigo-next-step__grid { grid-template-columns: 1fr; width: min(100%, 720px); margin-inline: auto; }
  .kaigo-info-hub__grid { grid-template-columns: 1fr; width: min(100%, 720px); margin-inline: auto; }
  .kaigo-job-check { grid-template-columns: 100px 1fr 80px; gap: 16px; padding: 22px; }
  .kaigo-job-check__button { grid-column: 2 / 4; }
  .kaigo-job-check__photo { display: none; }
  .kaigo-hero { min-height: auto; padding-top: 170px; }
  .kaigo-hero__inner { gap: 30px; }
  .kaigo-hero__visual { height: 490px; }
  .kaigo-hero__photo--main { width: 430px; height: 430px; }
  .kaigo-hero__photo--sub { width: 160px; height: 160px; }
  .kaigo-intro__inner { gap: 50px; }
  .kaigo-guest-grid { gap: 16px; }
  .kaigo-program-grid { grid-template-columns: 1fr; }
  .kaigo-booth-grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 767px) {
  html { scroll-padding-top: 70px; }
  .kaigo-header__inner { height: 116px; }
  .kaigo-container { width: min(100% - 28px, 560px); }
  .kaigo-header__brand { width: 308px; max-width: calc(100vw - 94px); }
  .kaigo-hero { padding: 145px 0 80px; background: linear-gradient(165deg, #fff 0 44%, #ecfaff 44% 100%); }
  .kaigo-hero__inner { display: flex; flex-direction: column; align-items: stretch; }
  .kaigo-page--home .kaigo-hero__inner { display: flex; width: min(100% - 28px, 560px); }
  .kaigo-hero__copy { position: relative; z-index: 3; }
  .kaigo-hero h1 { font-size: clamp(48px, 16vw, 68px); }
  .kaigo-hero__work-title { font-size: clamp(40px, 12vw, 56px) !important; }
  .kaigo-hero__catch { margin: 18px 0; font-size: 20px; }
  .kaigo-event-facts { gap: 3px 14px; }
  .kaigo-event-facts__date { font-size: 31px; }
  .kaigo-event-facts__time { font-size: 25px; }
  .kaigo-event-facts__place small { display: block; margin: 3px 0 0 20px; }
  .kaigo-button { width: 100%; }
  .kaigo-hero__visual { order: -1; height: 270px; margin-bottom: -12px; }
  .kaigo-page--home .kaigo-hero__visual { height: 300px; margin: 0 -14px -20px; }
  .kaigo-hero__photo--main { right: -28px; width: 285px; height: 285px; border-width: 6px; }
  .kaigo-page--home .kaigo-hero__photo--main { right: -62px; width: 450px; height: 300px; border-width: 0; -webkit-mask-image: linear-gradient(to right, transparent 0%, rgba(0,0,0,.4) 12%, #000 27%); mask-image: linear-gradient(to right, transparent 0%, rgba(0,0,0,.4) 12%, #000 27%); }
  .kaigo-category-nav { padding: 18px 0 55px; }
  .kaigo-category-nav__heading { margin-bottom: 16px; font-size: 17px; }
  .kaigo-category-nav__heading span { margin-inline: 3px; }
  .kaigo-category-nav__grid { gap: 10px; }
  .kaigo-category-card { min-height: 220px; padding: 20px 10px 15px; border-radius: 14px; }
  .kaigo-category-card svg { width: 42px; height: 42px; margin-bottom: 11px; }
  .kaigo-category-card strong { font-size: 16px; }
  .kaigo-category-card > span { min-height: 44px; font-size: 12px; }
  .kaigo-category-card b { width: 30px; height: 30px; font-size: 25px; }
  .kaigo-video-stories { padding: 20px 0 70px; }
  .kaigo-video-stories__heading { font-size: 22px; line-height: 1.55; }
  .kaigo-video-stories__heading::before,
  .kaigo-video-stories__heading::after { width: 10px; margin-inline: 5px; }
  .kaigo-video-stories__lead { margin-bottom: 20px; font-size: 14px; }
  .kaigo-next-step { padding: 20px 0 70px; }
  .kaigo-next-step__heading { font-size: 22px; line-height: 1.55; }
  .kaigo-next-step__heading::before,
  .kaigo-next-step__heading::after { width: 10px; margin-inline: 5px; }
  .kaigo-next-card { grid-template-columns: 38% 62%; min-height: 220px; }
  .kaigo-next-card__image { min-height: 220px; }
  .kaigo-next-card__body { padding: 18px 14px 14px; }
  .kaigo-next-card h3 { font-size: 17px; }
  .kaigo-next-card p { font-size: 13px; line-height: 1.65; }
  .kaigo-next-card__button { padding-inline: 10px; font-size: 12px; }
  .kaigo-info-hub { padding-top: 34px; }
  .kaigo-info-hub__heading { font-size: 22px; line-height: 1.55; }
  .kaigo-info-hub__heading::before,
  .kaigo-info-hub__heading::after { width: 10px; margin-inline: 5px; }
  .kaigo-info-card { grid-template-columns: 58px 1fr; gap: 12px; min-height: 112px; padding: 16px; }
  .kaigo-info-card svg { width: 56px; height: 56px; }
  .kaigo-info-card h3 { font-size: 16px; }
  .kaigo-info-card p { font-size: 13px; }
  .kaigo-info-card small { font-size: 11px; }
  .kaigo-info-card span { padding: 7px 12px; font-size: 12px; }
  .kaigo-guide-header__back { font-size: 13px; }
  .kaigo-guide-hero { padding: 45px 0 40px; }
  .kaigo-guide-hero h1 { font-size: clamp(22px, 7vw, 34px); line-height: 1.5; letter-spacing: 0; }
  .kaigo-guide-hero__lead { font-size: 16px; line-height: 1.9; }
  .kaigo-guide-hero__lead br { display: none; }
  .kaigo-guide-role { grid-template-columns: 1fr; gap: 10px; margin-top: 28px; }
  .kaigo-guide-role > div { min-height: 96px; padding: 16px; }
  .kaigo-guide-role strong { font-size: 16px; }
  .kaigo-guide-role span { font-size: 16px; }
  .kaigo-guide-role__arrow { transform: rotate(90deg); }
  .kaigo-guide-hero__photo { height: 300px; border-width: 7px; border-radius: 22px; }
  .kaigo-guide-hero__photo::after { right: 14px; bottom: 14px; width: 56px; height: 56px; border-width: 5px; }
  .kaigo-guide-content { padding: 48px 0 58px; }
  .kaigo-guide-content h2 { margin-bottom: 25px; font-size: 24px; }
  .kaigo-guide-grid { grid-template-columns: 1fr; gap: 16px; }
  .kaigo-guide-card { min-height: 0; padding: 25px 22px; }
  .kaigo-guide-card__number { width: 46px; height: 46px; font-size: 14px; }
  .kaigo-guide-card h3 { font-size: 22px; }
  .kaigo-guide-card p, .kaigo-guide-note { font-size: 14px; }
  .kaigo-guide-official { font-size: 14px; }
  .kaigo-job-check { grid-template-columns: 78px 1fr; margin-top: 14px; padding: 18px 14px; border-radius: 20px 20px 0 0; }
  .kaigo-job-check__bubble { width: 76px; height: 76px; font-size: 12px; }
  .kaigo-job-check__copy p { font-size: 13px; }
  .kaigo-job-check__copy h3 { font-size: 25px; }
  .kaigo-job-check__icon { display: none; }
  .kaigo-job-check__button { grid-column: 1 / -1; width: 100%; }
  .kaigo-numbers { padding: 15px 0 70px; }
  .kaigo-numbers__heading { font-size: 20px; line-height: 1.6; }
  .kaigo-numbers__heading::before,
  .kaigo-numbers__heading::after { width: 10px; margin-inline: 7px; }
  .kaigo-number-card { min-height: 285px; }
  .kaigo-hero__photo--sub { left: -12px; top: 14px; width: 110px; height: 110px; border-width: 5px; }
  .kaigo-hero__badge { right: 0; top: -5px; width: 90px; height: 90px; font-size: 11px; border-width: 4px; }
  .kaigo-hero__badge strong { font-size: 20px; }
  .kaigo-page--event .kaigo-hero__badge { gap: 3px; font-size: 13px; }
  .kaigo-page--event .kaigo-hero__badge strong { font-size: 23px; }
  .kaigo-wave { bottom: -115px; }
  .kaigo-section { padding: 75px 0; }
  .kaigo-heading { margin-bottom: 22px; font-size: 34px; }
  .kaigo-intro__inner, .kaigo-access__inner { grid-template-columns: 1fr; gap: 55px; }
  .kaigo-intro__photo { height: 330px; }
  .kaigo-intro__photo::before { inset: 16px -10px -16px 14px; }
  .kaigo-guest-grid { grid-template-columns: 1fr; gap: 24px; }
  .kaigo-guest-slider { margin-inline: -14px; padding: 0 14px 44px; overflow: hidden; }
  .kaigo-guest-grid.swiper-wrapper { display: flex; gap: 0; }
  .kaigo-guest-slider__pagination { display: block; bottom: 0 !important; }
  .kaigo-guest-slider__pagination .swiper-pagination-bullet { width: 10px; height: 10px; background: var(--kaigo-blue); }
  .kaigo-guest-card { display: grid; grid-template-columns: 42% 58%; height: auto; }
  .kaigo-guest-card__placeholder { height: 205px; font-size: 14px; }
  .kaigo-guest-card__media { height: 205px; }
  .kaigo-guest-card__media--gow,
  .kaigo-guest-card__media--hero { padding: 10px; }
  .kaigo-guest-card__body { min-height: 0; padding: 20px 17px; }
  .kaigo-guest-card h3 { font-size: 15px; }
  .kaigo-program-card { min-height: 390px; padding: 0; }
  .kaigo-program-card__media { height: 230px; }
  .kaigo-program-card__body { padding: 24px 21px; }
  .kaigo-program-card__number { font-size: 38px; }
  .kaigo-split-heading { grid-template-columns: 1fr; gap: 10px; margin-bottom: 32px; }
  .kaigo-booth-grid { grid-template-columns: 1fr 1fr; gap: 10px; }
  .kaigo-booth-card { min-height: 300px; padding: 0; }
  .kaigo-booth-card__media { height: 145px; }
  .kaigo-booth-card__body { padding: 17px 15px 20px; }
  .kaigo-booth-card__icon { width: 52px; height: 52px; font-size: 26px; border-radius: 16px; }
  .kaigo-booth-card h3 { font-size: 15px; }
  .kaigo-booth-card p { font-size: 14px; line-height: 1.65; }
  .kaigo-event-grid { grid-template-columns: 1fr; }
  .kaigo-feature-card__image { height: 220px; }
  .kaigo-feature-card__body { min-height: auto; padding: 25px; }
  .kaigo-feature-card h3 { font-size: 25px; }
  .kaigo-access__photo { order: -1; height: 310px; }
  .kaigo-footer__inner { display: grid; gap: 20px; text-align: center; }
  .kaigo-footer img { width: 240px; margin-inline: auto; }
}

/* TOP visual direction — stage 2 */
body.kaigo-page--home .kaigo-hero {
  min-height: 860px;
  padding: 168px 0 72px;
  background: linear-gradient(90deg, #fff 0 46%, #eaf8ff 46% 100%);
}
body.kaigo-page--home .kaigo-hero::before { width: 430px; height: 430px; top: -180px; right: 24%; border-color: rgba(7,157,217,.24); }
body.kaigo-page--home .kaigo-hero__inner { grid-template-columns: minmax(440px, .82fr) minmax(620px, 1.18fr); width: min(1440px, calc(100% - 48px)); min-height: 620px; }
body.kaigo-page--home .kaigo-hero__copy { max-width: 620px; padding: 38px 30px 40px 0; }
body.kaigo-page--home .kaigo-hero__lead { margin-bottom: 14px; padding: 9px 20px; font-size: 18px; }
body.kaigo-page--home .kaigo-hero__work-title { font-size: clamp(60px, 6.1vw, 88px) !important; line-height: 1.02; }
body.kaigo-page--home .kaigo-hero__catch--work { margin: 30px 0 22px; font-size: clamp(24px, 2.15vw, 32px); }
body.kaigo-page--home .kaigo-hero__description { margin-bottom: 32px; font-size: 17px; line-height: 2.05; }
body.kaigo-page--home .kaigo-hero .kaigo-button--primary { min-width: 270px; min-height: 62px; padding: 16px 30px; font-size: 17px; background: var(--kaigo-blue); box-shadow: 0 14px 28px rgba(7,157,217,.28); }
body.kaigo-page--home .kaigo-hero .kaigo-button--primary:hover,
body.kaigo-page--home .kaigo-hero .kaigo-button--primary:focus-visible { outline: 3px solid rgba(7,157,217,.2); outline-offset: 4px; box-shadow: 0 18px 34px rgba(7,157,217,.32); transform: translateY(-3px); }
body.kaigo-page--home .kaigo-hero__visual { height: 680px; margin-left: -60px; }
body.kaigo-page--home .kaigo-hero__visual::before { content: ""; position: absolute; inset: 24px -80px 22px 50px; background: #dff4fd; border-radius: 49% 39% 46% 54% / 43% 48% 52% 57%; transform: rotate(-3deg); }
body.kaigo-page--home .kaigo-hero__photo--main { right: -95px; width: min(930px, 68vw); height: 680px; border: 10px solid rgba(255,255,255,.9); border-radius: 48% 32% 44% 40% / 44% 36% 52% 48%; box-shadow: 0 24px 50px rgba(33,105,138,.16); -webkit-mask-image: none; mask-image: none; }
body.kaigo-page--home .kaigo-hero__photo--main img { object-position: 44% center; }
body.kaigo-page--home .kaigo-hero__portrait-accent { position: absolute; z-index: 3; display: block; border: 7px solid #fff; border-radius: 50%; box-shadow: 0 10px 22px rgba(70,60,50,.1); }
body.kaigo-page--home .kaigo-hero__portrait-accent--blue { top: 18px; left: 10px; width: 118px; height: 118px; background: var(--kaigo-blue); opacity: .82; }
body.kaigo-page--home .kaigo-hero__portrait-accent--yellow { right: 7%; bottom: 28px; width: 92px; height: 92px; background: var(--kaigo-yellow); }
body.kaigo-page--home .kaigo-hero__portrait-accent--pink { top: 105px; right: -10px; width: 56px; height: 56px; background: var(--kaigo-pink); }
body.kaigo-page--home .kaigo-wave { height: 135px; bottom: -78px; }

body.kaigo-page--home .kaigo-category-nav { padding: 92px 0 112px; }
body.kaigo-page--home .kaigo-category-nav__heading { margin-bottom: 40px; font-size: 27px; }
body.kaigo-page--home .kaigo-category-nav__grid { gap: 28px; }
body.kaigo-page--home .kaigo-category-card { position: relative; min-height: 310px; padding: 38px 28px 28px; overflow: hidden; border: 0; border-radius: 26px; box-shadow: 0 14px 34px rgba(70,60,50,.1); }
body.kaigo-page--home .kaigo-category-card::before { content: ""; position: absolute; inset: 0 0 auto; height: 9px; background: var(--category-color); }
body.kaigo-page--home .kaigo-category-card svg { width: 68px; height: 68px; margin-bottom: 22px; padding: 13px; background: #fff; border-radius: 22px; box-shadow: 0 8px 20px color-mix(in srgb, var(--category-color) 14%, transparent); }
body.kaigo-page--home .kaigo-category-card strong { font-size: 23px; }
body.kaigo-page--home .kaigo-category-card > span { min-height: 58px; margin-top: 12px; font-size: 16px; line-height: 1.8; }
body.kaigo-page--home .kaigo-category-card b { width: 44px; height: 44px; margin-top: 24px; color: #fff; background: var(--category-color); border: 0; box-shadow: 0 8px 18px color-mix(in srgb, var(--category-color) 28%, transparent); }

body.kaigo-page--home .kaigo-numbers { padding: 104px 0 118px; background: #fff; }
body.kaigo-page--home .kaigo-numbers__heading { margin-bottom: 48px; font-size: 30px; }
body.kaigo-page--home .kaigo-numbers__grid { gap: 30px; }
body.kaigo-page--home .kaigo-number-card { position: relative; min-height: 390px; padding: 34px 30px 30px; overflow: hidden; border: 0; border-radius: 28px; background: #fff8df; box-shadow: 0 14px 34px rgba(70,60,50,.09); }
body.kaigo-page--home .kaigo-number-card--blue { background: #eaf8ff; }
body.kaigo-page--home .kaigo-number-card--career { background: #fff2f7; }
body.kaigo-page--home .kaigo-number-card::after { content: ""; position: absolute; right: -55px; bottom: -70px; width: 180px; height: 180px; background: var(--number-color); border-radius: 50%; opacity: .1; }
body.kaigo-page--home .kaigo-number-card h3 { align-self: center; margin-bottom: 28px; padding: 7px 18px; background: #fff; border-radius: 999px; font-size: 17px; }
body.kaigo-page--home .kaigo-number-card__figure { flex: 1; flex-direction: column; gap: 8px; }
body.kaigo-page--home .kaigo-number-card__figure svg { width: 72px; height: 72px; }
body.kaigo-page--home .kaigo-number-card__figure strong { font-size: clamp(82px, 7vw, 108px); }
body.kaigo-page--home .kaigo-number-card__figure span { margin-bottom: 12px; font-size: 38px; }
body.kaigo-page--home .kaigo-number-card__message { margin-top: 22px; font-weight: 500; }
body.kaigo-page--home .kaigo-number-card__career-body { flex: 1; flex-direction: column; min-height: 180px; }
body.kaigo-page--home .kaigo-number-card__career-body svg { width: 80px; height: 80px; }
body.kaigo-page--home .kaigo-number-card__career-body p { text-align: center; }
body.kaigo-page--home .kaigo-number-card__keyword { display: block; margin: 2px 0; color: var(--kaigo-pink); font-size: clamp(46px, 4.4vw, 64px); line-height: 1.15; }
body.kaigo-page--home .kaigo-number-card small { font-size: 14px; }

body.kaigo-page--home .kaigo-video-stories { padding: 112px 0 124px; background: #f3f8fb; }
body.kaigo-page--home .kaigo-video-stories::before { width: 260px; height: 260px; border-color: rgba(7,157,217,.13); }
body.kaigo-page--home .kaigo-video-stories__heading { margin-bottom: 0; font-size: 34px; }
body.kaigo-page--home .kaigo-video-stories__lead { margin: 14px 0 48px; font-size: 17px; }
body.kaigo-page--home .kaigo-video-stories__grid { gap: 32px; }
body.kaigo-page--home .kaigo-video-card { padding: 10px; border: 0; border-radius: 28px; background: #fff; box-shadow: 0 16px 38px rgba(70,60,50,.1); }
body.kaigo-page--home .kaigo-video-card__player { border-radius: 20px; }
body.kaigo-page--home .kaigo-video-card h3 { padding: 25px 18px 7px; font-size: 19px; }
body.kaigo-page--home .kaigo-video-card p { padding: 0 18px 20px; }

body.kaigo-page--home .kaigo-next-step { padding: 110px 0 120px; background: #f8f6f1; }
body.kaigo-page--home .kaigo-next-step__heading { margin-bottom: 48px; font-size: 32px; }
body.kaigo-page--home .kaigo-next-step__grid { gap: 30px; }
body.kaigo-page--home .kaigo-next-card { display: flex; flex-direction: column; min-height: 570px; border: 0; border-radius: 28px; background: #fff8df; box-shadow: 0 14px 34px rgba(70,60,50,.1); }
body.kaigo-page--home .kaigo-next-card:nth-child(2) { background: #ebf8f1; }
body.kaigo-page--home .kaigo-next-card:nth-child(3) { background: #fff0f6; }
body.kaigo-page--home .kaigo-next-card__image { width: calc(100% - 24px); min-height: 300px; height: 300px; margin: 12px 12px 0; border-radius: 21px; }
body.kaigo-page--home .kaigo-next-card__image img { object-position: center; }
body.kaigo-page--home .kaigo-next-card__body { flex: 1; padding: 28px 28px 30px; }
body.kaigo-page--home .kaigo-next-card h3 { font-size: 23px; }
body.kaigo-page--home .kaigo-next-card:nth-child(2) h3 { color: #27845e; }
body.kaigo-page--home .kaigo-next-card:nth-child(3) h3 { color: #cb4e7b; }
body.kaigo-page--home .kaigo-next-card__button { min-height: 54px; font-size: 16px; }
body.kaigo-page--home .kaigo-next-card:nth-child(2) .kaigo-next-card__button { color: #fff !important; background: var(--kaigo-green); box-shadow: 0 8px 18px rgba(82,191,145,.25); }
body.kaigo-page--home .kaigo-next-card:nth-child(3) .kaigo-next-card__button { color: #fff !important; background: var(--kaigo-pink); box-shadow: 0 8px 18px rgba(239,107,154,.24); }

body.kaigo-page--home .kaigo-info-hub { padding: 108px 0 0; background: linear-gradient(180deg, #eaf8ff 0%, #f3f8fb 76%, #fff 76%); }
body.kaigo-page--home .kaigo-info-hub__heading { margin-bottom: 46px; font-size: 32px; }
body.kaigo-page--home .kaigo-info-hub__grid { gap: 28px; }
body.kaigo-page--home .kaigo-info-hub__feature { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.35fr); width: 100%; overflow: hidden; background: #fff; border-radius: 28px; box-shadow: 0 14px 34px rgba(70,60,50,.1); }
body.kaigo-page--home .kaigo-info-hub__feature .kaigo-info-hub__grid { display: block; }
body.kaigo-page--home .kaigo-info-card { position: relative; grid-template-columns: 1fr; justify-items: start; min-height: 360px; padding: 34px 32px 30px; overflow: hidden; border: 0; border-radius: 28px; background: #fff; box-shadow: 0 14px 34px rgba(70,60,50,.1); }
body.kaigo-page--home .kaigo-info-hub__feature .kaigo-info-card { width: 100%; height: 100%; border-radius: 0; box-shadow: none; }
body.kaigo-page--home .kaigo-info-hub__photo { min-height: 360px; margin: 0; overflow: hidden; }
body.kaigo-page--home .kaigo-info-hub__photo img { width: 100%; height: 100%; object-fit: cover; object-position: center; transition: transform .45s ease; }
body.kaigo-page--home .kaigo-info-hub__photo:hover img { transform: scale(1.025); }
body.kaigo-page--home .kaigo-info-card::after { content: ""; position: absolute; inset: auto -50px -70px auto; width: 170px; height: 170px; background: currentColor; border-radius: 50%; opacity: .06; }
body.kaigo-page--home .kaigo-info-card svg { width: 76px; height: 76px; padding: 14px; background: #eaf8ff; border-radius: 24px; }
body.kaigo-page--home .kaigo-info-card:nth-child(2) { color: #27845e !important; }
body.kaigo-page--home .kaigo-info-card:nth-child(2) svg { background: #ebf8f1; }
body.kaigo-page--home .kaigo-info-card:nth-child(3) { color: #b98800 !important; }
body.kaigo-page--home .kaigo-info-card:nth-child(3) svg { background: #fff8df; }
body.kaigo-page--home .kaigo-info-card > div { display: flex; flex-direction: column; align-items: flex-start; height: 100%; width: 100%; }
body.kaigo-page--home .kaigo-info-card h3 { margin: 18px 0 8px; font-size: 22px; }
body.kaigo-page--home .kaigo-info-card p { margin-bottom: 8px; }
body.kaigo-page--home .kaigo-info-card small { margin-bottom: 22px; font-size: 14px; }
body.kaigo-page--home .kaigo-info-card span { align-self: stretch; min-height: 56px; margin-top: auto; font-size: 16px; background: var(--kaigo-blue); box-shadow: 0 10px 22px rgba(70,60,50,.12); }
body.kaigo-page--home .kaigo-info-card span b { color: #fff; }
body.kaigo-page--home .kaigo-info-card:nth-child(2) span { background: var(--kaigo-green); }
body.kaigo-page--home .kaigo-info-card:nth-child(3) span { color: var(--kaigo-ink); background: var(--kaigo-yellow); }
body.kaigo-page--home .kaigo-info-card:nth-child(3) span b { color: var(--kaigo-ink); }
body.kaigo-page--home .kaigo-job-check { margin-top: 32px; border-radius: 28px 28px 0 0; box-shadow: 0 -8px 30px rgba(70,60,50,.08); }
body.kaigo-page--home .kaigo-job-check--numbers { margin-top: 44px; padding-top: 15px; border: 2px solid rgba(79,169,232,.14); border-radius: 28px; box-shadow: 0 12px 30px rgba(70,60,50,.09); }

@media (max-width: 1100px) {
  body.kaigo-page--home .kaigo-hero { min-height: 780px; }
  body.kaigo-page--home .kaigo-hero__inner { grid-template-columns: .9fr 1.1fr; }
  body.kaigo-page--home .kaigo-hero__visual { height: 590px; }
  body.kaigo-page--home .kaigo-hero__photo--main { right: -100px; width: 690px; height: 590px; }
  body.kaigo-page--home .kaigo-category-nav__grid { grid-template-columns: repeat(2, 1fr); }
  body.kaigo-page--home .kaigo-next-step__grid,
  body.kaigo-page--home .kaigo-info-hub__grid { grid-template-columns: 1fr; width: min(100%, 760px); margin-inline: auto; }
  body.kaigo-page--home .kaigo-info-hub__feature { grid-template-columns: 1fr; width: min(100%, 760px); margin-inline: auto; }
  body.kaigo-page--home .kaigo-info-hub__photo { min-height: 420px; }
  body.kaigo-page--home .kaigo-next-card { min-height: 0; }
}

@media (max-width: 767px) {
  body.kaigo-page--home .kaigo-hero { min-height: auto; padding: 132px 0 54px; background: linear-gradient(180deg, #fff 0 49%, #eaf8ff 49% 100%); }
  body.kaigo-page--home .kaigo-hero__inner { display: flex; flex-direction: column; width: min(100% - 40px, 620px); gap: 20px; }
  body.kaigo-page--home .kaigo-hero__copy { width: 100%; padding: 0; }
  body.kaigo-page--home .kaigo-hero__work-title { font-size: clamp(48px, 15vw, 66px) !important; }
  body.kaigo-page--home .kaigo-hero__description { font-size: 16px; line-height: 1.9; }
  body.kaigo-page--home .kaigo-hero .kaigo-button--primary { width: 100%; min-height: 58px; }
  body.kaigo-page--home .kaigo-hero__visual { order: 2; width: 100%; height: 390px; margin: 0; }
  body.kaigo-page--home .kaigo-hero__visual::before { inset: 30px -38px 0 18px; }
  body.kaigo-page--home .kaigo-hero__photo--main { right: -32px; width: calc(100% + 38px); height: 390px; border-width: 7px; border-radius: 46% 28% 40% 38% / 40% 34% 48% 44%; }
  body.kaigo-page--home .kaigo-hero__portrait-accent--blue { top: 4px; left: -8px; width: 72px; height: 72px; }
  body.kaigo-page--home .kaigo-hero__portrait-accent--yellow { right: -8px; bottom: 4px; width: 64px; height: 64px; }
  body.kaigo-page--home .kaigo-hero__portrait-accent--pink { top: 50px; right: -20px; width: 42px; height: 42px; }
  body.kaigo-page--home .kaigo-category-nav { padding: 72px 0 82px; }
  body.kaigo-page--home .kaigo-category-nav__heading { font-size: 22px; }
  body.kaigo-page--home .kaigo-category-card { min-height: 270px; padding: 30px 18px 22px; }
  body.kaigo-page--home .kaigo-numbers,
  body.kaigo-page--home .kaigo-video-stories,
  body.kaigo-page--home .kaigo-next-step { padding: 80px 0 88px; }
  body.kaigo-page--home .kaigo-numbers__heading,
  body.kaigo-page--home .kaigo-video-stories__heading,
  body.kaigo-page--home .kaigo-next-step__heading,
  body.kaigo-page--home .kaigo-info-hub__heading { font-size: 25px; }
  body.kaigo-page--home .kaigo-number-card { min-height: 350px; }
  body.kaigo-page--home .kaigo-number-card__figure strong { font-size: 82px; }
  body.kaigo-page--home .kaigo-video-stories__grid { gap: 22px; }
  body.kaigo-page--home .kaigo-next-card { min-height: 0; }
  body.kaigo-page--home .kaigo-next-card__image { height: 260px; min-height: 260px; }
  body.kaigo-page--home .kaigo-info-hub { padding-top: 84px; }
  body.kaigo-page--home .kaigo-info-card { min-height: 330px; }
  body.kaigo-page--home .kaigo-info-hub__feature { border-radius: 22px; }
  body.kaigo-page--home .kaigo-info-hub__photo { min-height: 260px; }
  body.kaigo-page--home .kaigo-job-check--numbers { margin-top: 30px; border-radius: 22px; }
}

@media (max-width: 520px) {
  body.kaigo-page--home .kaigo-category-nav__grid { grid-template-columns: 1fr; }
  body.kaigo-page--home .kaigo-category-card { min-height: 285px; }
  body.kaigo-page--home .kaigo-numbers__grid { grid-template-columns: 1fr; }
  body.kaigo-page--home .kaigo-next-card__image { height: 235px; min-height: 235px; }
}

body.kaigo-page--home .kaigo-number-card__career-body img {
  flex: 0 0 112px;
  width: 112px;
  height: 112px;
  object-fit: contain;
}
body.kaigo-page--home .kaigo-number-card__figure svg {
  position: absolute;
  top: 94px;
  left: 50%;
  flex: 0 0 112px;
  width: 112px;
  height: 112px;
  transform: translateX(-50%);
}
body.kaigo-page--home .kaigo-number-card__career-body img {
  position: absolute;
  top: 94px;
  left: 50%;
  transform: translateX(-50%);
}
body.kaigo-page--home .kaigo-number-card__figure,
body.kaigo-page--home .kaigo-number-card__career-body {
  align-content: center;
  padding-top: 112px;
}

@media (max-width: 767px) {
  body.kaigo-page--home .kaigo-number-card__career-body img,
  body.kaigo-page--home .kaigo-number-card__figure svg {
    top: 88px;
    flex-basis: 96px;
    width: 96px;
    height: 96px;
  }
  body.kaigo-page--home .kaigo-number-card__figure,
  body.kaigo-page--home .kaigo-number-card__career-body {
    padding-top: 96px;
  }
}

/* Care work type check */
.kaigo-check-page { min-height: 100vh; color: var(--kaigo-ink); background: #f3f8fb; }
.kaigo-check-header { position: relative; z-index: 5; padding: 16px 0; background: #fff; box-shadow: 0 5px 22px rgba(33,105,138,.08); }
.kaigo-check-header__inner { display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.kaigo-check-header img { display: block; width: min(300px, 62vw); }
.kaigo-check-header__back { color: var(--kaigo-blue-dark); font-size: 16px; font-weight: 800; text-decoration: none; }
.kaigo-check-header__back:hover, .kaigo-check-header__back:focus-visible { text-decoration: underline; text-underline-offset: 5px; }
.kaigo-check-main { position: relative; display: grid; place-items: center; min-height: calc(100vh - 150px); padding: 88px 0 96px; overflow: hidden; background: linear-gradient(145deg, #fff 0%, #eaf8ff 52%, #fff8df 100%); }
.kaigo-check-decor { position: absolute; border-radius: 50%; pointer-events: none; }
.kaigo-check-decor--blue { top: 10%; left: -60px; width: 190px; height: 190px; background: rgba(7,157,217,.12); }
.kaigo-check-decor--yellow { right: 5%; top: 13%; width: 95px; height: 95px; background: rgba(255,204,41,.38); }
.kaigo-check-decor--pink { right: -55px; bottom: 10%; width: 160px; height: 160px; background: rgba(239,107,154,.15); }
.kaigo-check-card { position: relative; z-index: 2; width: min(720px, 100%); min-height: 560px; margin-inline: auto; padding: 52px 54px; background: #fff; border: 1px solid rgba(7,157,217,.12); border-radius: 28px; box-shadow: 0 18px 45px rgba(70,60,50,.1); }
.kaigo-check-screen { min-height: 456px; }
.kaigo-check-start { display: flex; flex-direction: column; align-items: center; min-height: 456px; text-align: center; }
.kaigo-check-eyebrow { display: inline-flex; margin: 0 0 13px; padding: 7px 18px; color: var(--kaigo-blue-dark); font-size: 16px; font-weight: 800; background: var(--kaigo-blue-pale); border-radius: 9999px; }
.kaigo-check-start h1 { margin: 0; color: var(--kaigo-blue); font-size: clamp(42px, 6vw, 64px); line-height: 1.3; }
.kaigo-check-catch { margin: 18px 0 10px; color: var(--kaigo-pink); font-size: 22px; font-weight: 800; }
.kaigo-check-lead { margin: 0 0 32px; font-size: 17px; font-weight: 500; line-height: 1.9; }
.kaigo-check-start-button, .kaigo-check-answer, .kaigo-check-restart { min-height: 58px; font: inherit; font-size: 17px; font-weight: 800; border-radius: 9999px; cursor: pointer; transition: transform .22s ease-out, box-shadow .22s ease-out, background-color .22s ease-out; }
.kaigo-check-start-button { display: inline-flex; align-items: center; justify-content: center; gap: 28px; min-width: 270px; padding: 13px 28px; color: #fff; background: var(--kaigo-blue); border: 2px solid var(--kaigo-blue); box-shadow: 0 12px 25px rgba(7,157,217,.25); }
.kaigo-check-start-button:hover, .kaigo-check-start-button:focus-visible, .kaigo-check-answer:hover, .kaigo-check-answer:focus-visible, .kaigo-check-restart:hover, .kaigo-check-restart:focus-visible { outline: 3px solid rgba(7,157,217,.2); outline-offset: 3px; transform: translateY(-2px); }
.kaigo-check-note { max-width: 560px; margin: auto 0 0; padding-top: 28px; color: var(--kaigo-muted); font-size: 14px; line-height: 1.75; }
.kaigo-check-question { display: flex; flex-direction: column; min-height: 456px; }
.kaigo-check-step { margin: 0 0 10px; color: var(--kaigo-blue-dark); font-size: 16px; font-weight: 800; letter-spacing: .12em; }
.kaigo-check-progress { width: 100%; height: 8px; margin-bottom: 42px; overflow: hidden; background: #e8f0f4; border-radius: 9999px; }
.kaigo-check-progress span { display: block; width: var(--check-progress); height: 100%; background: linear-gradient(90deg, var(--kaigo-blue), var(--kaigo-green)); border-radius: inherit; transition: width .3s ease-out; }
.kaigo-check-question h2 { margin: 0 auto 44px; font-size: clamp(25px, 2.3vw, 30px); line-height: 1.55; text-align: center; }
.kaigo-check-question h2 > span { display: block; white-space: nowrap; }
.kaigo-check-answers { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; margin-top: auto; }
.kaigo-check-answer { padding: 13px 24px; color: var(--kaigo-ink); border: 2px solid; box-shadow: 0 8px 20px rgba(70,60,50,.07); }
.kaigo-check-answer--yes { background: #eaf8ff; border-color: #75c9ea; }
.kaigo-check-answer--no { background: #fff0f6; border-color: #f3a0c4; }
.kaigo-check-answer small { display: block; margin-top: 2px; font-size: 14px; font-weight: 500; }
.kaigo-check-result { text-align: center; }
.kaigo-check-result__label { margin: 0 0 8px; color: var(--kaigo-blue-dark); font-size: 16px; font-weight: 800; letter-spacing: .12em; }
.kaigo-check-result h1 { margin: 0 0 8px; color: var(--kaigo-blue); font-size: clamp(38px, 6vw, 58px); line-height: 1.35; }
.kaigo-check-result__power { margin: 0 0 25px; color: var(--kaigo-pink); font-size: clamp(20px, 3vw, 26px); font-weight: 800; line-height: 1.6; }
.kaigo-check-result__description { margin: 0 auto 30px; font-size: 16px; line-height: 1.9; text-align: left; }
.kaigo-check-result__description span { display: block; }
.kaigo-check-result__description span + span { margin-top: 14px; }
.kaigo-check-strengths { margin: 0 0 34px; padding: 24px; text-align: left; background: #f3f8fb; border-radius: 20px; }
.kaigo-check-strengths h2 { margin: 0 0 14px; color: var(--kaigo-blue-dark); font-size: 19px; }
.kaigo-check-strengths ul { display: flex; flex-wrap: wrap; gap: 10px; margin: 0; padding: 0; list-style: none; }
.kaigo-check-strengths li { padding: 7px 14px; font-size: 16px; font-weight: 700; background: #fff; border: 1px solid #cdeefa; border-radius: 9999px; }
.kaigo-check-result__cta-title { margin: 0 0 18px; font-size: 21px; line-height: 1.6; }
.kaigo-check-cta { display: grid; gap: 12px; }
.kaigo-check-cta a { display: flex; align-items: center; justify-content: space-between; min-height: 56px; padding: 12px 22px; color: var(--kaigo-ink); font-size: 16px; font-weight: 800; text-align: left; text-decoration: none; background: #fff; border: 2px solid var(--kaigo-blue); border-radius: 9999px; transition: color .22s ease-out, background-color .22s ease-out, transform .22s ease-out; }
.kaigo-check-cta a:hover, .kaigo-check-cta a:focus-visible { color: #fff; outline: none; background: var(--kaigo-blue); transform: translateY(-2px); }
.kaigo-check-restart { margin-top: 26px; padding: 11px 25px; color: var(--kaigo-blue-dark); background: #fff; border: 2px solid var(--kaigo-blue); }
.kaigo-check-footer { padding: 27px 0; color: #fff; text-align: center; background: var(--kaigo-blue-dark); }
.kaigo-check-footer p { margin: 0; font-size: 16px; font-weight: 700; }

@media (max-width: 639px) {
  .kaigo-check-header { padding: 12px 0; }
  .kaigo-check-header img { width: min(220px, 57vw); }
  .kaigo-check-header__back { font-size: 14px; }
  .kaigo-check-main { min-height: calc(100vh - 120px); padding: 52px 0 64px; }
  .kaigo-check-card { min-height: 520px; padding: 34px 24px; border-radius: 24px; }
  .kaigo-check-screen, .kaigo-check-start, .kaigo-check-question { min-height: 452px; }
  .kaigo-check-start h1 { font-size: 42px; }
  .kaigo-check-catch { font-size: 19px; }
  .kaigo-check-lead { font-size: 16px; }
  .kaigo-check-lead br { display: none; }
  .kaigo-check-start-button { width: 100%; min-height: 58px; }
  .kaigo-check-progress { margin-bottom: 32px; }
  .kaigo-check-question h2 { margin-bottom: 34px; font-size: clamp(20px, 6vw, 25px); line-height: 1.55; }
  .kaigo-check-question h2 > span { white-space: normal; }
  .kaigo-check-answers { grid-template-columns: 1fr; gap: 13px; }
  .kaigo-check-answer { min-height: 60px; }
  .kaigo-check-result h1 { font-size: 38px; }
  .kaigo-check-result__power { font-size: 20px; }
  .kaigo-check-strengths { padding: 20px; }
  .kaigo-check-strengths li { font-size: 14px; }
  .kaigo-check-cta a { min-height: 58px; font-size: 15px; }
  .kaigo-check-restart { width: 100%; }
}

body.kaigo-page--home .kaigo-job-check__button {
  font-size: 19.2px;
}

@media (max-width: 639px) {
  body.kaigo-page--home .kaigo-job-check__button {
    font-size: 16.8px;
  }
}

.kaigo-video-stories__more { display: flex; justify-content: center; margin-top: 44px; }
.kaigo-video-stories__more .kaigo-button { min-width: 250px; min-height: 56px; font-size: 16px; }

@media (max-width: 639px) {
  .kaigo-video-stories__more { margin-top: 32px; }
  .kaigo-video-stories__more .kaigo-button { width: 100%; }
}

.kaigo-movie-placeholder-page .kaigo-placeholder-main h1 span,
.kaigo-movie-placeholder-page .kaigo-placeholder-main h1 strong { display: block; }
.kaigo-movie-placeholder-page .kaigo-placeholder-main h1 span { margin-bottom: 5px; font-size: .64em; line-height: 1.35; }
.kaigo-movie-placeholder-page .kaigo-placeholder-main h1 strong { font-size: 1em; line-height: 1.2; }

.kaigo-movie-page { background: #f8f6f1; }
.kaigo-movie-page .kaigo-placeholder-header { background: rgba(255,255,255,.96); }
.kaigo-movie-hero { position: relative; isolation: isolate; overflow: hidden; padding: 190px 0 85px; text-align: center; background: radial-gradient(circle at 12% 24%, rgba(246,201,76,.30) 0 64px, transparent 65px), radial-gradient(circle at 88% 70%, rgba(243,160,196,.25) 0 102px, transparent 103px), linear-gradient(145deg, #fff 0%, #eaf8ff 62%, #eefaf4 100%); }
.kaigo-movie-hero::before, .kaigo-movie-hero::after { position: absolute; z-index: -1; content: ""; border-radius: 999px; pointer-events: none; }
.kaigo-movie-hero::before { top: 110px; left: 5%; width: 54px; height: 18px; background: rgba(79,169,232,.34); transform: rotate(-24deg); }
.kaigo-movie-hero::after { right: 8%; bottom: 46px; width: 76px; height: 22px; background: rgba(117,197,154,.35); transform: rotate(22deg); }
.kaigo-movie-hero > .kaigo-container { position: relative; z-index: 1; }
.kaigo-movie-hero .kaigo-eyebrow { display: inline-flex; align-items: center; min-height: 38px; margin-bottom: 18px; padding: 6px 20px; color: var(--kaigo-blue-dark); background: rgba(255,255,255,.88); border: 1px solid rgba(79,169,232,.22); border-radius: 999px; box-shadow: 0 8px 22px rgba(79,169,232,.10); }
.kaigo-movie-hero h1 { margin: 0; color: var(--kaigo-blue); font-size: clamp(48px, 7vw, 78px); line-height: 1.2; }
.kaigo-movie-hero h1 > span,
.kaigo-movie-hero h1 > strong { display: block; }
.kaigo-movie-hero h1 > span { margin-bottom: 4px; font-size: .62em; }
.kaigo-movie-hero h1 > strong { position: relative; z-index: 0; width: fit-content; margin-inline: auto; color: var(--kaigo-blue-dark); }
.kaigo-movie-hero h1 > strong::after { position: absolute; z-index: -1; right: -10px; bottom: .08em; left: -10px; height: .23em; content: ""; background: rgba(246,201,76,.72); border-radius: 999px; transform: rotate(-1deg); }
.kaigo-movie-hero > .kaigo-container > p:last-child { margin: 20px 0 0; font-size: 18px; line-height: 1.8; }
.kaigo-movie-list { padding: 90px 0 110px; background: linear-gradient(180deg, rgba(255,255,255,.35), transparent 210px), #f8f6f1; }
.kaigo-movie-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 28px 24px; }
.kaigo-movie-card { --movie-color: var(--kaigo-blue); --movie-pale: #eaf8ff; position: relative; overflow: hidden; background: #fff; border: 2px solid color-mix(in srgb, var(--movie-color) 24%, white); border-radius: 22px; box-shadow: 0 8px 24px rgba(70,60,50,.08); transition: transform .28s ease, box-shadow .28s ease; }
.kaigo-movie-card:nth-child(4n + 2) { --movie-color: var(--kaigo-green); --movie-pale: #edf9f2; }
.kaigo-movie-card:nth-child(4n + 3) { --movie-color: var(--kaigo-yellow); --movie-pale: #fff8df; }
.kaigo-movie-card:nth-child(4n + 4) { --movie-color: var(--kaigo-pink); --movie-pale: #fff0f6; }
.kaigo-movie-card__thumb { position: relative; aspect-ratio: 16 / 9; overflow: hidden; background: radial-gradient(circle at 82% 20%, rgba(255,255,255,.92) 0 34px, transparent 35px), radial-gradient(circle at 16% 84%, color-mix(in srgb, var(--movie-color) 18%, transparent) 0 42px, transparent 43px), linear-gradient(145deg, var(--movie-pale), #fff); }
.kaigo-movie-card__thumb::before { position: absolute; top: 20px; right: 22px; width: 10px; height: 10px; content: ""; background: var(--movie-color); border-radius: 50%; box-shadow: -20px 13px 0 color-mix(in srgb, var(--movie-color) 64%, white), 5px 25px 0 color-mix(in srgb, var(--movie-color) 42%, white); }
.kaigo-movie-card__thumb::after { content: "▶"; position: absolute; inset: 50% auto auto 50%; display: grid; place-items: center; width: 58px; height: 58px; color: #fff; font-size: 20px; background: var(--movie-color); border-radius: 50%; box-shadow: 0 10px 24px color-mix(in srgb, var(--movie-color) 32%, transparent); transform: translate(-50%, -50%); }
.kaigo-movie-card h2 { margin: 0; padding: 22px 24px 25px; color: var(--kaigo-ink); font-size: 19px; line-height: 1.6; background: linear-gradient(90deg, var(--movie-pale), #fff 64%); border-top: 1px solid color-mix(in srgb, var(--movie-color) 18%, white); }
.kaigo-movie-card:hover { transform: translateY(-5px); box-shadow: 0 16px 34px color-mix(in srgb, var(--movie-color) 18%, transparent); }
.kaigo-movie-back { margin-top: 54px; text-align: center; }

@media (max-width: 900px) {
  .kaigo-movie-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 639px) {
  .kaigo-movie-hero { padding: 145px 0 65px; }
  .kaigo-movie-hero h1 { font-size: 50px; }
  .kaigo-movie-hero > .kaigo-container > p:last-child { font-size: 16px; }
  .kaigo-movie-list { padding: 65px 0 80px; }
  .kaigo-movie-grid { grid-template-columns: 1fr; gap: 20px; }
  .kaigo-movie-card h2 { font-size: 17px; }
  .kaigo-movie-back .kaigo-button { width: 100%; }
}

body.kaigo-page--home .kaigo-footer__inner p {
  color: #0094e3;
}

/* Staff voice list and interview */
.voice-page { color: var(--kaigo-ink); background: #fff; }
.voice-page .kaigo-header { background: rgba(255,255,255,.96); }
.voice-page .kaigo-nav a[aria-current="page"] { color: #197451; background: #dcf8ec; box-shadow: 0 8px 20px rgba(82,191,145,.18); }
.voice-eyebrow { display: inline-flex; margin: 0 0 16px; padding: 7px 18px; color: var(--kaigo-blue-dark); font-size: 16px; font-weight: 800; letter-spacing: .08em; background: #eaf8ff; border-radius: 9999px; }
.voice-section-title { margin: 0 0 24px; font-size: clamp(32px, 4vw, 48px); font-weight: 800; line-height: 1.45; }
.voice-jp-heading {
  word-break: normal;
  overflow-wrap: normal;
  line-break: strict;
  text-wrap: balance;
}
.voice-jp-heading > span {
  display: inline-block;
  white-space: nowrap;
}
.voice-jp-heading > span > span {
  display: inline-block;
  white-space: nowrap;
}
.voice-jp-heading > span > span + span::before { content: " "; }
.voice-jp-heading > span + span::before { content: " "; }
.voice-hero__copy .voice-jp-heading > span,
.voice-section-title.voice-jp-heading > span,
.voice-message .voice-jp-heading > span { display: block; }
.voice-hero__copy .voice-jp-heading > span + span::before,
.voice-section-title.voice-jp-heading > span + span::before,
.voice-message .voice-jp-heading > span + span::before { content: none; }
.voice-section-lead { margin: 0 auto 40px; color: var(--kaigo-muted); font-size: 18px; font-weight: 700; line-height: 1.8; }
.voice-question { width: fit-content; margin: 0 0 22px; padding: 9px 18px; color: #bd3f70; font-size: 16px; font-weight: 800; background: #fff0f6; border-radius: 9999px; }
.voice-button { display: inline-flex; align-items: center; justify-content: center; gap: 24px; min-height: 56px; padding: 13px 26px; color: #fff !important; font-size: 16px; font-weight: 800; text-decoration: none; background: var(--kaigo-blue); border-radius: 9999px; box-shadow: 0 10px 24px rgba(7,157,217,.22); transition: transform .22s ease-out, box-shadow .22s ease-out; }
.voice-button:hover, .voice-button:focus-visible { outline: 3px solid rgba(7,157,217,.18); outline-offset: 4px; box-shadow: 0 14px 28px rgba(7,157,217,.3); transform: translateY(-3px); }

.voice-index-hero { padding: 200px 0 90px; text-align: center; background: linear-gradient(145deg, #fff 0%, #eaf8ff 100%); }
.voice-index-hero h1 { margin: 0 0 18px; color: var(--kaigo-blue); font-size: clamp(48px, 7vw, 78px); }
.voice-index-hero p:last-child { margin: 0; font-size: 18px; line-height: 1.9; }
.voice-index-list { padding: 100px 0 120px; background: #f8f6f1; }
.voice-index-list > .kaigo-container > .voice-section-title { margin-bottom: 44px; text-align: center; }
.voice-index-card { display: grid; grid-template-columns: minmax(300px, 42%) 1fr; width: min(100%, 980px); margin-inline: auto; overflow: hidden; background: #fff; border-radius: 30px; box-shadow: 0 16px 38px rgba(70,60,50,.1); }
.voice-index-card + .voice-index-card { margin-top: 48px; }
.voice-index-card__image { min-height: 520px; overflow: hidden; }
.voice-index-card__image img { width: 100%; height: 100%; object-fit: cover; object-position: center 22%; transition: transform .4s ease-out; }
.voice-index-card__image--02 img,
.voice-index-card__image--03 img,
.voice-index-card__image--04 img { object-position: 72% 22%; }
.voice-index-card__image:hover img { transform: scale(1.025); }
.voice-index-card__body { display: flex; flex-direction: column; justify-content: center; align-items: flex-start; padding: 54px; }
.voice-index-card__area { margin: 0 0 8px; color: var(--kaigo-blue-dark); font-weight: 800; }
.voice-index-card h3 { margin: 0; color: var(--kaigo-blue); font-size: 36px; }
.voice-index-card__job { margin: 8px 0 28px; font-size: 16px; line-height: 1.7; }
.voice-index-card blockquote { margin: 0 0 32px; color: var(--kaigo-pink); font-size: clamp(26px, 3vw, 38px); font-weight: 800; line-height: 1.55; }

.voice-hero { position: relative; padding: 180px 0 105px; overflow: hidden; background: linear-gradient(90deg, #eaf8ff 0 48%, #fff 48% 100%); }
.voice-hero__inner { display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: 80px; }
.voice-hero__photo { position: relative; z-index: 2; height: 650px; overflow: hidden; border: 10px solid #fff; border-radius: 48% 34% 43% 39% / 42% 38% 52% 48%; box-shadow: 0 22px 48px rgba(33,105,138,.16); }
.voice-hero__photo img { width: 100%; height: 100%; object-fit: cover; object-position: center 18%; }
.voice-detail-page--02 .voice-hero__photo img { object-position: 72% 18%; }
.voice-detail-page--03 .voice-hero__photo img { object-position: 72% 18%; }
.voice-detail-page--04 .voice-hero__photo img { object-position: 72% 18%; }
.voice-hero__copy { position: relative; z-index: 2; }
.voice-hero h1 { margin: 0 0 36px; color: var(--kaigo-ink); font-size: clamp(42px, 5vw, 68px); line-height: 1.38; }
.voice-hero h1::after { content: ""; display: block; width: 110px; height: 8px; margin-top: 24px; background: var(--kaigo-yellow); border-radius: 99px; }
.voice-profile { padding: 25px 28px; background: #fff; border-left: 6px solid var(--kaigo-blue); border-radius: 0 22px 22px 0; box-shadow: 0 10px 28px rgba(70,60,50,.08); }
.voice-profile p { margin: 0; font-size: 16px; line-height: 1.7; }
.voice-profile__job { color: var(--kaigo-blue-dark); font-weight: 800; }
.voice-profile .voice-profile__name { margin: 3px 0 10px; color: var(--kaigo-blue); font-size: 32px; font-weight: 800; }
.voice-profile__name small { margin-left: 5px; font-size: 16px; }
.voice-hero__decor { position: absolute; border-radius: 50%; }
.voice-hero__decor--yellow { left: 3%; top: 22%; width: 90px; height: 90px; background: rgba(255,204,41,.6); }
.voice-hero__decor--pink { right: 4%; bottom: 12%; width: 60px; height: 60px; background: rgba(239,107,154,.45); }

.voice-section { padding: 110px 0; }
.voice-reading { max-width: 980px; }
.voice-reading__columns { display: grid; grid-template-columns: 1fr 1fr; gap: 46px; }
.voice-reading__columns p, .voice-split__copy > p:not(.voice-question), .voice-message__body p { margin: 0; font-size: 17px; line-height: 2; }
.voice-detail-page .voice-section-lead,
.voice-detail-page .voice-reading__columns p,
.voice-detail-page .voice-strength-card p,
.voice-detail-page .voice-strengths__detail,
.voice-detail-page .voice-split__copy > p:not(.voice-question),
.voice-detail-page .voice-offtime__note,
.voice-detail-page .voice-message__body p { text-align: left; }
.voice-origin { background: #fff; }
.voice-origin .voice-section-lead { color: var(--kaigo-blue-dark); font-size: 22px; }
.voice-strengths { text-align: center; background: #f3f8fb; }
.voice-strengths .voice-question { margin-inline: auto; }
.voice-strengths__detail {
  max-width: 900px;
  margin: 38px auto 0;
  padding: 24px 28px;
  text-align: left;
  line-height: 1.9;
  background: #fff;
  border-radius: 20px;
}
.voice-strength-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 26px; }
.voice-strength-card { padding: 34px 28px; text-align: left; background: #fff; border-radius: 24px; box-shadow: 0 10px 28px rgba(70,60,50,.08); }
.voice-strength-card:nth-child(1) { border-top: 7px solid var(--kaigo-blue); }
.voice-strength-card:nth-child(2) { border-top: 7px solid var(--kaigo-pink); }
.voice-strength-card:nth-child(3) { border-top: 7px solid var(--kaigo-green); }
.voice-strength-card > span { color: var(--kaigo-blue); font-weight: 800; }
.voice-strength-card h3 { margin: 8px 0 12px; font-size: 26px; }
.voice-strength-card p { margin: 0; font-size: 16px; line-height: 1.85; }
.voice-split { display: grid; grid-template-columns: 1fr 46%; align-items: center; gap: 74px; }
.voice-split--reverse { grid-template-columns: 46% 1fr; }
.voice-split--reverse .voice-split__copy { order: 2; }
.voice-split__photo { height: 560px; margin: 0; overflow: hidden; border-radius: 32px; box-shadow: 0 16px 38px rgba(70,60,50,.1); }
.voice-split__photo img { width: 100%; height: 100%; object-fit: cover; object-position: center; }
.voice-split__copy > p + p { margin-top: 18px !important; }
.voice-challenge { background: #fffaf0; }
.voice-offtime { text-align: center; background: linear-gradient(145deg, #fff0f6, #fffaf0); }
.voice-offtime .voice-eyebrow { color: #bd3f70; background: #fff; }
.voice-offtime-list { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; margin: 0 0 28px; padding: 0; list-style: none; }
.voice-offtime-list li { display: grid; place-items: center; min-height: 120px; padding: 20px; color: #bd3f70; font-size: 18px; font-weight: 800; background: #fff; border-radius: 22px; box-shadow: 0 8px 22px rgba(70,60,50,.07); }
.voice-offtime__note { width: fit-content; margin: 0 auto; padding: 13px 24px; font-size: 16px; font-weight: 700; line-height: 1.7; background: #fff; border-radius: 9999px; }
.voice-goal { background: #fff; }
.voice-goal .voice-split__photo { border: 10px solid #fff; box-shadow: 0 16px 38px rgba(33,105,138,.14); }
.voice-message { padding: 120px 0; color: #fff; text-align: center; background: var(--kaigo-blue-dark); }
.voice-message .voice-eyebrow { color: var(--kaigo-blue-dark); background: #fff; }
.voice-message h2 { margin: 0 0 40px; font-size: clamp(44px, 6vw, 76px); line-height: 1.4; }
.voice-message h2 strong { color: var(--kaigo-yellow); }
.voice-message__body { display: grid; grid-template-columns: 1fr 1fr; gap: 36px; max-width: 960px; margin: 0 auto 35px; text-align: left; }
.voice-professions { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; max-width: 950px; margin: 0 auto 48px; padding: 0; list-style: none; }
.voice-professions li { padding: 8px 16px; color: var(--kaigo-blue-dark); font-size: 14px; font-weight: 800; background: #fff; border-radius: 9999px; }
.voice-message__quote { margin: 0; color: #fff; font-size: clamp(24px, 3vw, 36px); font-weight: 800; line-height: 1.7; }
.voice-cta { padding: 80px 0; text-align: center; background: #f3f8fb; }
.voice-button--large { min-width: 320px; }

/* Voice pages: soft brand-color accents */
.voice-index-hero {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  background:
    radial-gradient(circle at 10% 25%, rgba(246,201,76,.28) 0 66px, transparent 67px),
    radial-gradient(circle at 88% 75%, rgba(243,160,196,.24) 0 100px, transparent 101px),
    linear-gradient(145deg, #fff 0%, #eaf8ff 68%, #eef9f3 100%);
}
.voice-index-hero::before,
.voice-index-hero::after {
  position: absolute;
  z-index: -1;
  content: "";
  border-radius: 999px;
  pointer-events: none;
}
.voice-index-hero::before { top: 125px; left: 6%; width: 58px; height: 18px; background: rgba(79,169,232,.34); transform: rotate(-25deg); }
.voice-index-hero::after { right: 7%; bottom: 50px; width: 72px; height: 20px; background: rgba(117,197,154,.38); transform: rotate(22deg); }
.voice-index-hero__inner { position: relative; z-index: 1; }
.voice-index-hero h1 { text-shadow: 4px 5px 0 rgba(255,255,255,.88); }
.voice-index-list { background: linear-gradient(180deg, #f8f6f1 0%, #fffaf4 48%, #f3f8fb 100%); }
.voice-index-card {
  --voice-card-color: var(--kaigo-blue);
  --voice-card-pale: #eaf8ff;
  border: 2px solid color-mix(in srgb, var(--voice-card-color) 22%, white);
  box-shadow: 0 16px 38px color-mix(in srgb, var(--voice-card-color) 12%, transparent);
}
.voice-index-card:nth-of-type(2) { --voice-card-color: var(--kaigo-green); --voice-card-pale: #edf9f2; }
.voice-index-card:nth-of-type(3) { --voice-card-color: var(--kaigo-yellow); --voice-card-pale: #fff8df; }
.voice-index-card:nth-of-type(4) { --voice-card-color: var(--kaigo-pink); --voice-card-pale: #fff0f6; }
.voice-index-card__body { position: relative; background: linear-gradient(135deg, var(--voice-card-pale), #fff 70%); }
.voice-index-card__body::after { position: absolute; top: 28px; right: 30px; width: 14px; height: 14px; content: ""; background: var(--voice-card-color); border-radius: 50%; box-shadow: 20px 12px 0 color-mix(in srgb, var(--voice-card-color) 55%, white); }
.voice-index-card__area { padding: 5px 13px; color: color-mix(in srgb, var(--voice-card-color) 78%, #17364a); background: #fff; border-radius: 999px; }
.voice-index-card h3 { color: color-mix(in srgb, var(--voice-card-color) 82%, #17364a); }
.voice-index-card blockquote { color: color-mix(in srgb, var(--voice-card-color) 78%, #bd3f70); }
.voice-index-card .voice-button { background: var(--voice-card-color); box-shadow: 0 10px 24px color-mix(in srgb, var(--voice-card-color) 28%, transparent); }
.voice-index-card:nth-of-type(3) .voice-button { color: var(--kaigo-ink) !important; }

.voice-detail-page .voice-hero {
  background:
    radial-gradient(circle at 6% 78%, rgba(246,201,76,.25) 0 72px, transparent 73px),
    radial-gradient(circle at 93% 18%, rgba(243,160,196,.20) 0 90px, transparent 91px),
    linear-gradient(90deg, #eaf8ff 0 48%, #fff 48% 100%);
}
.voice-detail-page .voice-hero__photo { outline: 3px solid rgba(79,169,232,.20); outline-offset: 8px; }
.voice-detail-page .voice-profile { background: linear-gradient(110deg, #fff, #f3f8fb); border-left-color: var(--kaigo-pink); }
.voice-detail-page .voice-section-title::after { display: block; width: 72px; height: 7px; margin-top: 17px; content: ""; background: linear-gradient(90deg, var(--kaigo-blue), var(--kaigo-yellow)); border-radius: 999px; }
.voice-strengths .voice-section-title::after,
.voice-offtime .voice-section-title::after { margin-inline: auto; }
.voice-detail-page .voice-strength-card:nth-child(1) { background: linear-gradient(145deg, #fff, #eaf8ff); }
.voice-detail-page .voice-strength-card:nth-child(2) { background: linear-gradient(145deg, #fff, #fff0f6); }
.voice-detail-page .voice-strength-card:nth-child(3) { background: linear-gradient(145deg, #fff, #edf9f2); }
.voice-detail-page .voice-strengths__detail { border: 2px solid rgba(79,169,232,.16); box-shadow: 0 8px 24px rgba(70,60,50,.06); }
.voice-detail-page .voice-split__photo { outline: 3px solid rgba(246,201,76,.26); outline-offset: 7px; }
.voice-detail-page .voice-offtime-list li:nth-child(4n + 1) { color: var(--kaigo-blue-dark); border-top: 5px solid var(--kaigo-blue); }
.voice-detail-page .voice-offtime-list li:nth-child(4n + 2) { color: #197451; border-top: 5px solid var(--kaigo-green); }
.voice-detail-page .voice-offtime-list li:nth-child(4n + 3) { color: #916c00; border-top: 5px solid var(--kaigo-yellow); }
.voice-detail-page .voice-offtime-list li:nth-child(4n + 4) { color: #bd3f70; border-top: 5px solid var(--kaigo-pink); }
.voice-detail-page .voice-message { position: relative; isolation: isolate; overflow: hidden; background: linear-gradient(145deg, var(--kaigo-blue-dark), #147db0); }
.voice-detail-page .voice-message::before,
.voice-detail-page .voice-message::after { position: absolute; z-index: -1; content: ""; border-radius: 50%; pointer-events: none; }
.voice-detail-page .voice-message::before { top: 9%; left: 4%; width: 150px; height: 150px; background: rgba(243,160,196,.18); }
.voice-detail-page .voice-message::after { right: 5%; bottom: 8%; width: 115px; height: 115px; background: rgba(246,201,76,.18); }
.voice-detail-page .voice-professions li:nth-child(4n + 1) { background: #eaf8ff; }
.voice-detail-page .voice-professions li:nth-child(4n + 2) { background: #edf9f2; }
.voice-detail-page .voice-professions li:nth-child(4n + 3) { background: #fff8df; }
.voice-detail-page .voice-professions li:nth-child(4n + 4) { background: #fff0f6; }
.voice-detail-page .voice-cta { background: linear-gradient(135deg, #f3f8fb, #fff8df); }

@media (max-width: 900px) {
  .voice-hero__inner, .voice-split, .voice-split--reverse { grid-template-columns: 1fr; gap: 44px; }
  .voice-hero { padding-top: 150px; background: linear-gradient(180deg, #eaf8ff 0 54%, #fff 54%); }
  .voice-hero__photo { width: min(100%, 620px); height: 600px; margin-inline: auto; }
  .voice-split--reverse .voice-split__copy { order: 0; }
  .voice-split__photo { width: min(100%, 650px); height: 500px; margin-inline: auto; }
  .voice-strength-grid { grid-template-columns: 1fr; width: min(100%, 680px); margin-inline: auto; }
  .voice-offtime-list { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 639px) {
  .voice-section-title { font-size: 31px; }
  .voice-section-title.voice-jp-heading > span {
    white-space: normal;
  }
  .voice-section-title.voice-jp-heading > span:first-child:last-child {
    display: inline;
  }
  .voice-section-lead { font-size: 16px; }
  .voice-question { font-size: 14px; line-height: 1.6; border-radius: 16px; }
  .voice-index-hero { padding: 145px 0 65px; }
  .voice-index-hero h1 { font-size: 48px; }
  .voice-index-hero p:last-child { font-size: 16px; }
  .voice-index-list { padding: 70px 0 80px; }
  .voice-index-card { grid-template-columns: 1fr; border-radius: 24px; }
  .voice-index-card__image { min-height: 390px; }
  .voice-index-card__body { padding: 30px 24px 34px; }
  .voice-index-card h3 { font-size: 30px; }
  .voice-index-card blockquote { font-size: 27px; }
  .voice-index-card .voice-button { width: 100%; }
  .voice-hero { padding: 125px 0 75px; }
  .voice-hero__inner { gap: 34px; }
  .voice-hero__photo { height: 440px; border-width: 7px; }
  .voice-hero h1 { margin-bottom: 28px; font-size: 39px; }
  .voice-profile { padding: 21px 20px; }
  .voice-profile .voice-profile__name { font-size: 28px; }
  .voice-section { padding: 72px 0; }
  .voice-reading__columns, .voice-message__body { grid-template-columns: 1fr; gap: 20px; }
  .voice-reading__columns p, .voice-split__copy > p:not(.voice-question), .voice-message__body p { font-size: 16px; line-height: 1.9; }
  .voice-strength-card { padding: 28px 24px; }
  .voice-offtime-list { gap: 12px; }
  .voice-offtime-list li { min-height: 100px; padding: 15px; font-size: 16px; }
  .voice-offtime__note { width: 100%; border-radius: 20px; }
  .voice-split__photo { height: 400px; border-radius: 24px; }
  .voice-message { padding: 80px 0; }
  .voice-message h2 { font-size: 39px; }
  .voice-professions { margin-bottom: 36px; }
  .voice-message__quote { font-size: 24px; }
  .voice-cta { padding: 60px 0; }
  .voice-button--large { width: 100%; min-width: 0; }
}

/* Match the index header on the requested secondary pages. */
:is(.kaigo-guide-page, .funding-page, .support-page, .voice-page, .kaigo-movie-page) .kaigo-header__inner { width: min(1380px, calc(100% - 40px)); }
:is(.kaigo-guide-page, .funding-page, .support-page, .voice-page, .kaigo-movie-page) .kaigo-nav { gap: 12px; padding: 0; background: transparent; border-radius: 0; box-shadow: none; }
:is(.kaigo-guide-page, .funding-page, .support-page, .voice-page, .kaigo-movie-page) .kaigo-nav a { display: inline-flex; align-items: center; justify-content: space-between; gap: 20px; min-width: 176px; padding: 12px 22px 12px 26px; text-align: left; border: 0; border-radius: 999px; transition: color .2s, transform .2s, box-shadow .2s; }
:is(.kaigo-guide-page, .funding-page, .support-page, .voice-page, .kaigo-movie-page) .kaigo-nav a:nth-child(1) { color: var(--kaigo-blue-dark); background: linear-gradient(100deg, #dff5ff, #bcecff); box-shadow: 0 10px 24px rgba(7,157,217,.24); }
:is(.kaigo-guide-page, .funding-page, .support-page, .voice-page, .kaigo-movie-page) .kaigo-nav a:nth-child(2) { color: #197451; background: linear-gradient(100deg, #dcf8ec, #aee9cf); box-shadow: 0 10px 24px rgba(82,191,145,.27); }
:is(.kaigo-guide-page, .funding-page, .support-page, .voice-page, .kaigo-movie-page) .kaigo-nav a:nth-child(3) { color: #795800; background: linear-gradient(100deg, #ffe978, #ffd641); box-shadow: 0 10px 24px rgba(255,190,20,.3); }
:is(.kaigo-guide-page, .funding-page, .support-page, .voice-page, .kaigo-movie-page) .kaigo-nav a::after { content: "→"; flex: 0 0 auto; color: currentColor; font-size: 18px; font-weight: 800; line-height: 1; }
:is(.kaigo-guide-page, .funding-page, .support-page, .voice-page, .kaigo-movie-page) .kaigo-nav a:hover,
:is(.kaigo-guide-page, .funding-page, .support-page, .voice-page, .kaigo-movie-page) .kaigo-nav a:focus-visible { transform: translateY(-3px); filter: saturate(1.08); }
.kaigo-guide-page .kaigo-guide-hero,
.funding-page .funding-hero,
.support-page .support-hero { padding-top: 205px; }

@media (max-width: 1023px) {
  :is(.kaigo-guide-page, .funding-page, .support-page, .voice-page, .kaigo-movie-page) .kaigo-header__inner { width: calc(100% - 28px); }
  :is(.kaigo-guide-page, .funding-page, .support-page, .voice-page, .kaigo-movie-page) .kaigo-nav { gap: 12px; padding: 120px 28px 60px; background: rgba(255,255,255,.98); }
  :is(.kaigo-guide-page, .funding-page, .support-page, .voice-page, .kaigo-movie-page) .kaigo-nav a { width: min(100%, 420px); margin-inline: auto; padding: 14px 24px 14px 28px; border: 0; }
  .kaigo-guide-page .kaigo-guide-hero,
  .funding-page .funding-hero,
  .support-page .support-hero { padding-top: 165px; }
}
@media (max-width: 639px) {
  .kaigo-guide-page .kaigo-guide-hero,
  .funding-page .funding-hero,
  .support-page .support-hero { padding-top: 140px; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
  .kaigo-reveal { opacity: 1; transform: none; }
}

.reading-text {
  line-break: strict;
  word-break: normal;
  overflow-wrap: break-word;
}

.youtube {
    aspect-ratio: 16 / 9;
    box-shadow: 10px 5px 5px rgb(59, 59, 59);
    width: 80%;
    margin: 0 auto;
    margin-top: 5%;
}

.youtube iframe {
    width: 100%;
    height: 100%;
}
