/*
Theme Name: KIMONO CLASS
Theme URI: https://kimonoclass.jp/
Author: KIMONO CLASS
Description: Mobile-first block theme for the KIMONO CLASS certified academy portal.
Version: 0.10.25
Requires at least: 6.7
Requires PHP: 8.1
Text Domain: kimono-class
*/

.kc-recruit-empty{margin:0;padding:clamp(1.5rem,4vw,3rem);border:1px solid color-mix(in srgb,currentColor 18%,transparent);background:color-mix(in srgb,var(--kc-paper,#fff) 94%,transparent);font-size:clamp(1rem,1.4vw,1.15rem);text-align:center}
.kc-recruit-card__action[aria-disabled="true"]{cursor:default;opacity:.72}
.kc-section--conditions .kc-conditions-list{display:grid;gap:1rem;margin:0}.kc-section--conditions .kc-conditions-list>div{display:grid;grid-template-columns:minmax(8rem,12rem) 1fr;gap:1rem;padding:1rem 0;border-top:1px solid var(--kc-border,#d8d2cc)}.kc-section--conditions .kc-conditions-list dt{color:var(--kc-muted,#756d66);font-family:sans-serif;font-size:.82rem}.kc-section--conditions .kc-conditions-list dd{margin:0;white-space:normal}@media(max-width:700px){.kc-section--conditions .kc-conditions-list>div{grid-template-columns:1fr;gap:.35rem}}

:root {
  --kc-ink: #302b29;
  --kc-muted: #716966;
  --kc-paper: #fffdf9;
  --kc-washi: #f5f0e8;
  --kc-accent: #8b3f4b;
  --kc-accent-dark: #6f2f39;
  --kc-sage: #65766a;
  --kc-border: #ddd4c8;
  --kc-radius: 1rem;
  --kc-content: 72rem;
  --kc-reading: 45rem;
  --kc-section: clamp(4rem, 8vw, 8rem);
  --kc-shadow: 0 1.25rem 3.5rem rgba(48, 43, 41, 0.09);
}

/* Network portal 0.8.2 candidate: selected wa-modern editorial direction. */
.kc-editorial-home{
  --kc-network-paper:#fffdf9;--kc-network-deep:#3d3d52;--kc-network-accent:#b53f59;
  --kc-network-rose:#fbf3ee;--kc-network-sage:#eff5ed;--kc-network-gold:#bd9763;
  display:flex;flex-direction:column;background:var(--kc-network-paper);color:#34323a;
}
.kc-editorial-home>*{width:100%;box-sizing:border-box}.kc-editorial-home>.kc-network-hero{order:1}.kc-editorial-home>.kc-network-search-section{order:2}
.kc-editorial-home>.kc-network-section:nth-child(6){order:3}.kc-editorial-home>.kc-network-section:nth-child(9){order:4}.kc-editorial-home>.kc-network-section:nth-child(4){order:5}.kc-editorial-home>.kc-network-section:nth-child(8){order:6}.kc-editorial-home>.kc-network-section:nth-child(10){order:7}.kc-editorial-home>.kc-network-mid-cta{order:8}.kc-editorial-home>.kc-network-teacher-cta{order:9}
.kc-editorial-home>.kc-network-teacher-choice{display:none}
.kc-network-header{position:sticky;top:0;min-height:5rem;padding:.55rem max(1.2rem,calc((100vw - 1200px)/2));background:rgba(255,253,249,.96);backdrop-filter:blur(14px);box-shadow:0 1px 0 rgba(61,61,82,.1)}
.kc-network-brand{font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-size:1.08rem;letter-spacing:.12em}.kc-network-brand small{display:inline;margin-left:1rem;font:500 .66rem/1.5 "Yu Gothic",sans-serif;letter-spacing:.04em}
.kc-network-nav ul{gap:1.65rem}.kc-network-nav a{font-size:.78rem}.kc-network-header__cta{min-height:2.75rem;padding:.6rem 1.1rem;border-radius:.15rem;background:#b53f59;box-shadow:none;font-size:.8rem}.kc-network-header__cta:hover,.kc-network-header__cta:focus-visible{background:#8e2f45}
.kc-editorial-home .kc-network-hero{min-height:38rem;grid-template-columns:1fr 1.05fr;background:#fffdf9;border-bottom:1px solid #eadfd8}
.kc-editorial-home .kc-network-hero::before{display:none}.kc-editorial-home .kc-network-hero__copy{width:min(100%,37rem);padding:5.5rem 3.75rem 3.5rem max(2rem,calc((100vw - 1200px)/2))}
.kc-editorial-home .kc-network-eyebrow{color:#a97b46!important;font:700 .69rem/1.4 "Yu Gothic",sans-serif!important;letter-spacing:.18em}.kc-editorial-home .kc-network-eyebrow::before{width:2.1rem;height:1px;border-radius:0;background:#bd9763}
.kc-editorial-home .kc-network-hero h1{margin:1.25rem 0 1.35rem;color:#302e35;font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-size:clamp(3.25rem,4.2vw,3.8rem);font-weight:500;line-height:1.48;letter-spacing:.08em}
.kc-editorial-home .kc-network-hero__lead{max-width:34rem;color:#59555b;font-size:.96rem;line-height:2}.kc-editorial-home .kc-network-actions{margin-top:2rem}.kc-editorial-home .kc-network-actions .wp-block-button__link{min-height:3.35rem;padding:.8rem 2rem;border-radius:.15rem;background:#b53f59;box-shadow:none;font-size:.9rem}
.kc-network-hero__trust{display:flex!important;gap:1.35rem!important;margin-top:2rem!important}.kc-network-hero__trust p{position:relative;margin:0!important;padding-left:1.15rem;color:#656169!important;font-size:.76rem!important}.kc-network-hero__trust p::before{content:"";position:absolute;left:0;top:.38rem;width:.52rem;height:.52rem;border:1px solid #76727a;border-radius:50%}
.kc-editorial-home .kc-network-hero__media{min-height:38rem;margin:0 max(1.8rem,calc((100vw - 1200px)/2)) 0 0;border-radius:0;box-shadow:0 1rem 2.5rem rgba(61,61,82,.12)}.kc-editorial-home .kc-network-hero__media::after{inset:0;border:0}.kc-editorial-home .kc-network-hero__media img{object-position:50% 36%}
.kc-editorial-home .kc-network-section{max-width:1200px;padding:4.75rem clamp(1.5rem,4vw,4rem)}
.kc-editorial-home .kc-network-search-section{margin:1.5rem auto 0;border:1px solid #eadfd8;background:linear-gradient(100deg,#fffdf9,#fbf3ee)}
.kc-editorial-home .kc-network-search-section h2,.kc-editorial-home .kc-network-section h2{font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-weight:500;letter-spacing:.06em}
.kc-editorial-home .kc-quick-chips{justify-content:flex-end;margin:-3.2rem 0 1.75rem}.kc-editorial-home .kc-quick-chips a{min-height:2.55rem;border-color:#e0d2c6;border-radius:999px;background:rgba(255,255,255,.8);box-shadow:none;font-size:.75rem;font-weight:500}.kc-editorial-home .kc-quick-chips a:hover,.kc-editorial-home .kc-quick-chips a:focus-visible{transform:none;border-color:#b53f59;color:#8e2f45}
.kc-editorial-home .kc-directory-search{padding:1.25rem;border-radius:.2rem;box-shadow:none}.kc-editorial-home .kc-directory-search label{font-size:.72rem}.kc-editorial-home .kc-directory-search input,.kc-editorial-home .kc-directory-search select{min-height:3rem;border-radius:.15rem;background:#fff}.kc-editorial-home .kc-directory-search button{min-height:3rem;border-radius:.15rem;background:#b53f59}.kc-editorial-home .kc-directory-search button:hover,.kc-editorial-home .kc-directory-search button:focus-visible{background:#8e2f45}
.kc-editorial-home>.kc-network-section:nth-child(6){display:grid;grid-template-columns:15rem minmax(0,1fr);gap:2rem;margin:0 auto;background:linear-gradient(90deg,#fbf3ee,#fffdf9)}.kc-editorial-home>.kc-network-section:nth-child(6) .kc-network-section-head{display:block!important}.kc-editorial-home>.kc-network-section:nth-child(6) .kc-network-section-head>p{margin-top:2rem}.kc-editorial-home>.kc-network-section:nth-child(6) .kc-academy-card{display:grid;grid-template-columns:minmax(14rem,1fr) 1.7fr;border-radius:.2rem;background:#fff;box-shadow:0 .8rem 2.2rem rgba(61,61,82,.08)}.kc-editorial-home>.kc-network-section:nth-child(6) .kc-academy-card__media{min-height:16rem;border-radius:0}.kc-editorial-home>.kc-network-section:nth-child(6) .kc-academy-card__body{padding:2rem}.kc-editorial-home>.kc-network-section:nth-child(6) .kc-academy-card::before{content:"制作見本";position:absolute;z-index:2;padding:.65rem 1.4rem;background:#b53f59;color:#fff;font-size:.72rem;letter-spacing:.08em}.kc-editorial-home>.kc-network-section:nth-child(6) .kc-academy-card{position:relative}
.kc-editorial-home>.kc-network-section:nth-child(9){margin:0 auto;text-align:center}.kc-editorial-home>.kc-network-section:nth-child(9) .kc-network-eyebrow{justify-content:center}.kc-editorial-home>.kc-network-section:nth-child(9) .kc-network-simple-grid{border-top:1px solid #bd9763}.kc-editorial-home .kc-network-simple-grid>.wp-block-column{border:0;border-radius:0;background:#fff;box-shadow:none}.kc-editorial-home .kc-network-simple-grid h3{font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-weight:500}.kc-editorial-home .kc-network-simple-grid h3::before{display:block;margin-bottom:.75rem;color:#b53f59;font:500 1.6rem/1 serif}.kc-editorial-home .kc-network-simple-grid>.wp-block-column:nth-child(1) h3::before{content:"01"}.kc-editorial-home .kc-network-simple-grid>.wp-block-column:nth-child(2) h3::before{content:"02"}.kc-editorial-home .kc-network-simple-grid>.wp-block-column:nth-child(3) h3::before{content:"03"}
.kc-editorial-home>.kc-network-section:nth-child(4){display:grid;grid-template-columns:15rem minmax(0,1fr);gap:2rem;margin:0 auto;background:#fffdf9}.kc-editorial-home .kc-network-feature-grid{gap:0!important}.kc-editorial-home .kc-network-feature-grid>.wp-block-column{min-height:14rem;padding:2rem;border:0;border-left:1px solid #e7dcd4;border-radius:0;box-shadow:none}.kc-editorial-home .kc-network-feature-grid>.wp-block-column:nth-child(1){background:#fbf3ee}.kc-editorial-home .kc-network-feature-grid>.wp-block-column:nth-child(2){background:#eff5ed}.kc-editorial-home .kc-network-feature-grid>.wp-block-column:nth-child(3){background:#fbf5eb}.kc-editorial-home .kc-network-number{color:#b53f59!important;font-family:"Yu Mincho",serif;font-size:1rem!important}
.kc-editorial-home>.kc-network-section:nth-child(8){margin:0 auto;background:#fffdf9}.kc-editorial-home>.kc-network-section:nth-child(8) .kc-network-steps{gap:3rem!important}.kc-editorial-home>.kc-network-section:nth-child(8) .kc-network-steps>.wp-block-column{position:relative;min-height:10rem;padding:1.5rem 1.5rem 1.5rem 4.3rem;border:1px solid #e7dcd4;border-radius:.2rem;background:#fff;color:#34323a}.kc-editorial-home>.kc-network-section:nth-child(8) .kc-network-steps>.wp-block-column:not(:last-child)::after{content:"→";position:absolute;right:-2rem;top:42%;color:#b53f59}.kc-editorial-home>.kc-network-section:nth-child(8) .kc-network-steps strong{position:absolute;left:1.25rem;top:1.45rem;color:#b53f59;font-family:"Yu Mincho",serif;font-size:1rem}.kc-editorial-home>.kc-network-section:nth-child(8) .kc-network-steps h3{color:#34323a;font-family:"Yu Mincho",serif}.kc-editorial-home>.kc-network-section:nth-child(8) .kc-network-steps p{color:#68646a}
.kc-editorial-home>.kc-network-section:nth-child(10){display:grid;grid-template-columns:15rem minmax(0,1fr);gap:2rem;margin:0 auto;background:linear-gradient(90deg,#fbf3ee,#fff)}
.kc-editorial-home>.kc-network-section:nth-child(10) .kc-network-faq{margin:0}.kc-editorial-home details{border-bottom:1px solid #ded5cf}.kc-editorial-home details summary{min-height:3.3rem;padding:1rem .25rem;cursor:pointer;font-size:.88rem}.kc-editorial-home details p{padding:0 .25rem 1.2rem;color:#68646a;font-size:.86rem}
.kc-editorial-home>.kc-network-mid-cta,.kc-editorial-home>.kc-network-teacher-cta{max-width:1200px;margin:0 auto;padding:3rem 4rem}.kc-editorial-home>.kc-network-mid-cta{background:#fbf3ee}.kc-editorial-home>.kc-network-teacher-cta{background:#eff5ed}.kc-editorial-home>.kc-network-mid-cta .wp-block-button__link,.kc-editorial-home>.kc-network-teacher-cta .wp-block-button__link{border-radius:.15rem;box-shadow:none}
.kc-portal-footer{background:#3d3d52}.kc-portal-footer__brand{font-weight:500}
.kc-network-mobile-cta{display:none}
@media(max-width:1080px){.kc-network-header{min-height:4.75rem}.kc-network-brand small{display:none}.kc-editorial-home .kc-network-hero__copy{padding-left:2rem}.kc-editorial-home .kc-network-hero__media{margin-right:1.5rem}.kc-editorial-home .kc-quick-chips{justify-content:flex-start;margin:1.25rem 0}.kc-editorial-home>.kc-network-section:nth-child(6),.kc-editorial-home>.kc-network-section:nth-child(4),.kc-editorial-home>.kc-network-section:nth-child(10){grid-template-columns:1fr}.kc-editorial-home>.kc-network-section:nth-child(6) .kc-network-section-head{display:flex!important}}
@media(max-width:820px){.kc-editorial-home .kc-network-hero{grid-template-columns:1fr;min-height:auto}.kc-editorial-home .kc-network-hero__copy{width:auto;padding:4.5rem 2rem 3.5rem}.kc-editorial-home .kc-network-hero__media{min-height:32rem;margin:0 2rem 2rem}.kc-editorial-home>.kc-network-section:nth-child(6) .kc-academy-card{grid-template-columns:1fr}.kc-editorial-home>.kc-network-section:nth-child(6) .kc-academy-card__media{min-height:22rem}.kc-editorial-home>.kc-network-section:nth-child(8) .kc-network-steps{gap:1rem!important}.kc-editorial-home>.kc-network-section:nth-child(8) .kc-network-steps>.wp-block-column:not(:last-child)::after{display:none}}
@media(max-width:600px){.kc-network-header{min-height:4.5rem;padding:.55rem 1rem}.kc-network-mobile-nav summary{width:3rem;height:3rem;justify-content:center;padding:0}.kc-editorial-home .kc-network-hero__copy{padding:3.5rem 1.25rem 2.75rem}.kc-editorial-home .kc-network-hero h1{font-size:clamp(2rem,9vw,2.25rem);line-height:1.5;letter-spacing:.04em}.kc-editorial-home .kc-network-hero__media{min-height:0;aspect-ratio:4/4.25;margin:0}.kc-network-hero__trust{display:grid!important;grid-template-columns:1fr 1fr;gap:.7rem!important}.kc-editorial-home .kc-network-section{padding:3.75rem 1.2rem}.kc-editorial-home .kc-network-search-section{margin:0;border-inline:0}.kc-editorial-home .kc-quick-chips{grid-template-columns:1fr 1fr}.kc-editorial-home>.kc-network-section:nth-child(6) .kc-network-section-head{display:block!important}.kc-editorial-home>.kc-network-section:nth-child(6) .kc-academy-card__media{min-height:17rem}.kc-editorial-home>.kc-network-section:nth-child(9){text-align:left}.kc-editorial-home>.kc-network-section:nth-child(9) .kc-network-eyebrow{justify-content:flex-start}.kc-editorial-home .kc-network-feature-grid{display:grid!important;grid-template-columns:1fr}.kc-editorial-home .kc-network-feature-grid>.wp-block-column{min-height:0;border-left:0;border-top:1px solid #e7dcd4}.kc-editorial-home>.kc-network-section:nth-child(8) .kc-network-steps{display:grid!important}.kc-editorial-home>.kc-network-section:nth-child(8) .kc-network-steps>.wp-block-column{min-height:0}.kc-editorial-home>.kc-network-mid-cta,.kc-editorial-home>.kc-network-teacher-cta{padding:3rem 1.2rem}.kc-network-mobile-cta{display:grid;position:fixed;z-index:40;right:1rem;bottom:max(1rem,env(safe-area-inset-bottom));min-height:3.25rem;place-items:center;padding:.7rem 1.4rem;background:#b53f59;color:#fff;font-weight:700;text-decoration:none;box-shadow:0 .6rem 1.5rem rgba(61,61,82,.24)}.kc-portal-footer{padding-bottom:6rem}}
@media(prefers-reduced-motion:reduce){.kc-network-header,.kc-editorial-home *{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}

/* Design refinement v2: three intentionally distinct visual systems. */
.kc-hero__academy { margin-bottom:.75rem !important; color:var(--kc-ink) !important; font-size:.82rem; font-weight:700; letter-spacing:.12em; }
.kc-photo img,.kc-hero__media img,.kc-community__photo img { object-position:var(--kc-image-position,50% 50%); }
.kc-photo.is-reference,.kc-hero__media.is-reference,.kc-community__photo.is-reference { outline:3px solid rgba(178,107,0,.55); outline-offset:-3px; }
.kc-reference-badge { position:absolute; z-index:2; left:.75rem; top:.75rem; padding:.3rem .65rem; background:rgba(36,31,29,.9); color:#fff; font:700 .7rem/1.2 sans-serif; letter-spacing:.08em; }
.kc-hero__media { --kc-image-position:72% 42%; }
.kc-photo--portrait { --kc-image-position:50% 24%; }
.kc-community__photo { --kc-image-position:50% 45%; }

/* Elegant — quiet asymmetry, generous white space and restrained details. */
.kc-template-elegant { --kc-paper:#fffdf8; --kc-washi:#f1ede5; --kc-deep:#292724; --kc-shadow:0 1.5rem 4rem rgba(46,41,36,.08); }
.kc-template-elegant .kc-hero { grid-template-columns:minmax(24rem,44%) 1fr; background:#f2eee7; }
.kc-template-elegant .kc-hero__media { grid-column:2; margin:clamp(2rem,4vw,4.5rem) clamp(2rem,4vw,4.5rem) clamp(2rem,4vw,4.5rem) 0; min-height:42rem; }
.kc-template-elegant .kc-hero__content { padding-left:clamp(2rem,7vw,7rem); }
.kc-template-elegant .kc-hero__panel { width:min(42%,31rem); }
.kc-template-elegant .kc-hero h1 { font-size:clamp(2.8rem,4.7vw,4.7rem); letter-spacing:.08em; }
.kc-template-elegant .kc-section--message { padding-block:clamp(7rem,12vw,12rem); }
.kc-template-elegant .kc-split--teacher { grid-template-columns:.72fr 1fr; }
.kc-template-elegant .kc-teacher { background:linear-gradient(90deg,var(--kc-washi) 0 42%,var(--kc-paper) 42%); }
.kc-template-elegant .kc-photo--portrait { transform:translateY(3rem); }
.kc-template-elegant .kc-card { min-height:27rem; border-top:1px solid var(--kc-ink); }
.kc-template-elegant .kc-gallery { gap:1.2rem; }

/* Warm — people first, softer surfaces and earlier teacher presence. */
.kc-template-warm { --kc-paper:#fffaf5; --kc-washi:#f6e9de; --kc-deep:#5b443b; --kc-radius:1.75rem; --kc-shadow:0 1rem 2.7rem rgba(91,68,59,.13); }
.kc-template-warm .kc-hero { grid-template-columns:1fr 1fr; padding:clamp(1rem,3vw,2.5rem); gap:clamp(1rem,3vw,2.5rem); background:#f6e9de; }
.kc-template-warm .kc-hero__media { grid-column:1; border-radius:2.5rem 2.5rem .5rem 2.5rem; overflow:hidden; }
.kc-template-warm .kc-hero__content { position:relative; grid-column:2; grid-row:1; display:flex; padding:clamp(2rem,5vw,5rem); }
.kc-template-warm .kc-hero__panel { width:100%; }
.kc-template-warm .kc-hero h1 { font-size:clamp(2.7rem,4.6vw,4.5rem); }
.kc-template-warm .kc-section--message { display:none; }
.kc-template-warm .kc-section--teacher { padding-top:clamp(4rem,7vw,6.5rem); }
.kc-template-warm .kc-teacher { background:#fffaf5; }
.kc-template-warm .kc-split--teacher { grid-template-columns:.9fr 1fr; }
.kc-template-warm .kc-photo--portrait { border-radius:48% 48% 2rem 2rem; }
.kc-template-warm .kc-card,.kc-template-warm .kc-recruit-card,.kc-template-warm .kc-quote { border-radius:var(--kc-radius); overflow:hidden; }
.kc-template-warm .kc-lesson-grid { gap:1.25rem; border:0; background:transparent; }
.kc-template-warm .kc-card { background:#fff; box-shadow:var(--kc-shadow); }
.kc-template-warm .kc-community { margin:0 clamp(1rem,4vw,4rem); border-radius:2.5rem; overflow:hidden; }

/* Modern — full-bleed photography, sans-serif type and editorial rhythm. */
.kc-template-modern { --kc-paper:#fff; --kc-washi:#eef0f2; --kc-deep:#15191d; --kc-content:80rem; --kc-radius:0; }
.kc-template-modern,.kc-template-modern button { font-family:"Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif; }
.kc-template-modern .kc-hero { display:block; min-height:calc(100vh - 5.5rem); background:#15191d; }
.kc-template-modern .kc-hero__media { position:absolute; inset:0; min-height:100%; }
.kc-template-modern .kc-hero__media::before { content:""; position:absolute; z-index:1; inset:0; background:linear-gradient(90deg,rgba(9,12,15,.78),rgba(9,12,15,.12) 66%); }
.kc-template-modern .kc-hero__content { color:#fff; }
.kc-template-modern .kc-hero__panel { width:min(54%,43rem); }
.kc-template-modern .kc-hero__academy,.kc-template-modern .kc-hero__copy { color:rgba(255,255,255,.82) !important; }
.kc-template-modern .kc-hero h1 { font-size:clamp(3.2rem,6vw,6rem); font-weight:600; letter-spacing:-.02em; line-height:1.17; }
.kc-template-modern .kc-kicker { letter-spacing:.3em; }
.kc-template-modern .kc-section--message { text-align:left; }
.kc-template-modern .kc-section--message .kc-reading { width:min(100%,70rem); }
.kc-template-modern .kc-split--teacher { grid-template-columns:1.2fr .8fr; }
.kc-template-modern .kc-photo--portrait { width:100%; min-height:0; aspect-ratio:4/3; }
.kc-template-modern .kc-lesson-grid { grid-template-columns:1.3fr .85fr .85fr; gap:0; border:0; }
.kc-template-modern .kc-card { border-top:.35rem solid var(--kc-accent); box-shadow:none; background:#f4f5f6; }
.kc-template-modern .kc-gallery { grid-template-columns:1.6fr .7fr .7fr; gap:.2rem; }
.kc-template-modern .kc-community { display:grid; grid-template-columns:1fr 1fr; }
.kc-template-modern .kc-community__copy { width:auto; margin:0; display:flex; flex-direction:column; justify-content:center; }
.kc-template-modern .kc-community .kc-heading { font-size:clamp(2rem,3.4vw,3rem); }

@media(max-width:820px){
  .kc-template-elegant .kc-hero__media { margin:2rem 2rem 0; }
  .kc-template-elegant .kc-hero__panel { width:100%; }
  .kc-template-elegant .kc-teacher { background:var(--kc-washi); }
  .kc-template-warm .kc-hero { grid-template-columns:1fr; }
  .kc-template-warm .kc-hero__media,.kc-template-warm .kc-hero__content { grid-column:1; }
  .kc-template-warm .kc-hero__content { grid-row:auto; }
  .kc-template-modern .kc-hero { min-height:auto; display:flex; }
  .kc-template-modern .kc-hero__media { position:relative; inset:auto; }
  .kc-template-modern .kc-hero__media::before { content:none; }
  .kc-template-modern .kc-hero__panel { width:100%; }
  .kc-template-modern .kc-hero__content { color:var(--kc-ink); }
  .kc-template-modern .kc-hero__academy,.kc-template-modern .kc-hero__copy { color:var(--kc-muted) !important; }
  .kc-template-modern .kc-community { grid-template-columns:1fr; }
}

@media(max-width:600px){
  .kc-hero__media { --kc-image-position:72% 38%; }
  .kc-template-elegant .kc-hero__media { margin:1rem 1rem 0; aspect-ratio:4/5; }
  .kc-template-elegant .kc-hero__content { padding:0 1rem 3.5rem; }
  .kc-template-elegant .kc-photo--portrait { transform:none; }
  .kc-template-warm .kc-hero { padding:.75rem; }
  .kc-template-warm .kc-hero__media { border-radius:2rem 2rem .4rem 2rem; }
  .kc-template-warm .kc-hero__panel { padding:2.25rem 1rem 3rem; }
  .kc-template-warm .kc-community { margin:0; border-radius:0; }
  .kc-template-modern .kc-hero__media { aspect-ratio:4/5.2; }
  .kc-template-modern .kc-hero__panel { padding:2.5rem 1.2rem 4rem; }
  .kc-template-modern .kc-hero h1 { font-size:2.75rem; }
  .kc-template-modern .kc-lesson-grid { display:block; }
  .kc-template-modern .kc-card + .kc-card { margin-top:.5rem; }
}
.kc-preset-indigo { --kc-accent:#53617d; --kc-accent-dark:#3e4962; --kc-washi:#eef0f4; }
.kc-preset-sakura { --kc-accent:#a75c68; --kc-accent-dark:#824651; --kc-washi:#f8eef0; }
.kc-preset-sage { --kc-accent:#65766a; --kc-accent-dark:#4d5c52; --kc-washi:#edf1eb; }
.kc-preset-sand { --kc-accent:#8a6a4f; --kc-accent-dark:#684e3a; --kc-washi:#f4ede3; }
.kc-template-warm { --kc-radius: 1.5rem; --kc-shadow: 0 1.2rem 3rem rgba(74,54,43,.12); }
.kc-template-warm .kc-card, .kc-template-warm .kc-recruit-card, .kc-template-warm .kc-hero__panel { border-radius: var(--kc-radius); }
.kc-template-modern { --kc-radius: .2rem; --kc-shadow: 0 .8rem 2rem rgba(31,36,42,.1); }
.kc-template-modern .kc-heading { font-family: "Hiragino Kaku Gothic ProN", "Noto Sans JP", sans-serif; letter-spacing: .015em; }
.kc-template-modern .kc-hero { grid-template-columns: minmax(18rem, 36%) 1fr; }
.kc-template-modern .kc-card { border-top: .3rem solid var(--kc-accent); }
.kc-template-elegant .kc-heading { letter-spacing: .06em; }

/* Network portal 0.7.0 — the shared directory is intentionally separate from academy LP chrome. */
.kc-network-main,
.kc-network-header,
.kc-portal-footer {
  --kc-network-ink:#24211f;
  --kc-network-muted:#6d6661;
  --kc-network-paper:#fffdf8;
  --kc-network-tint:#f3ede4;
  --kc-network-accent:#8e3f4d;
  --kc-network-deep:#26211f;
  --kc-network-border:#dcd1c4;
  --kc-network-content:76rem;
  font-family:"Hiragino Kaku Gothic ProN","Yu Gothic","Noto Sans JP",sans-serif;
}
.kc-network-skip{position:fixed;z-index:1000;left:1rem;top:-5rem;padding:.75rem 1rem;background:#fff;color:#111}.kc-network-skip:focus{top:1rem}
.kc-network-header{position:relative;z-index:30;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:clamp(1rem,3vw,2.5rem);min-height:5.5rem;padding:.85rem max(1.2rem,calc((100vw - var(--kc-network-content))/2));border-bottom:1px solid rgba(36,33,31,.1);background:rgba(255,253,248,.96)}
.kc-network-brand{display:flex;flex-direction:column;color:var(--kc-network-ink);font-family:"Hiragino Mincho ProN","Yu Mincho",serif;font-size:1.05rem;font-weight:700;letter-spacing:.14em;line-height:1.35;text-decoration:none;white-space:nowrap}.kc-network-brand small{margin-top:.2rem;color:var(--kc-network-muted);font-family:sans-serif;font-size:.58rem;font-weight:500;letter-spacing:.08em}
.kc-network-nav{justify-self:end}.kc-network-nav ul,.kc-network-mobile-nav ul{display:flex;gap:clamp(.9rem,2vw,1.8rem);margin:0;padding:0;list-style:none}.kc-network-nav a{color:var(--kc-network-ink);font-size:.78rem;font-weight:650;text-decoration:none;white-space:nowrap}.kc-network-nav a:hover,.kc-network-nav a:focus-visible{text-decoration:underline}
.kc-network-header__cta{display:inline-grid;min-height:2.9rem;place-items:center;padding:.65rem 1.2rem;border:1px solid var(--kc-network-accent);background:var(--kc-network-accent);color:#fff;font-size:.8rem;font-weight:700;text-decoration:none;white-space:nowrap}.kc-network-header__cta:hover,.kc-network-header__cta:focus-visible{background:#6f2f39}
.kc-network-mobile-nav{display:none}.kc-network-mobile-nav summary{display:flex;min-height:2.75rem;align-items:center;cursor:pointer;list-style:none}.kc-network-mobile-nav summary::-webkit-details-marker{display:none}

.kc-network-main{margin:0!important;max-width:none!important;color:var(--kc-network-ink);background:var(--kc-network-paper);overflow:clip}.kc-network-main h1,.kc-network-main h2{font-family:"Hiragino Mincho ProN","Yu Mincho",serif;font-weight:500;letter-spacing:.035em;text-wrap:balance}.kc-network-main h2{font-size:clamp(2rem,4vw,3.45rem);line-height:1.45}.kc-network-main p{color:var(--kc-network-muted)}
.kc-network-hero{position:relative;display:grid!important;grid-template-columns:minmax(22rem,42%) 1fr;align-items:stretch;min-height:min(49rem,calc(100vh - 5.5rem));max-width:none!important;padding:0!important;background:#eee6dc}.kc-network-hero__copy{z-index:2;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;width:min(100%,34rem);margin-left:max(1.2rem,calc((100vw - var(--kc-network-content))/2));padding:clamp(3.5rem,8vw,7rem) clamp(2rem,5vw,5.5rem) clamp(3.5rem,8vw,7rem) 0}.kc-network-hero__copy h1{margin:.5rem 0 1.6rem;font-size:clamp(3rem,5.2vw,5.7rem);line-height:1.22}.kc-network-hero__lead{margin:0;max-width:32rem;font-size:clamp(1rem,1.4vw,1.16rem);line-height:2}.kc-network-hero__media{position:relative;margin:0;min-width:0;overflow:hidden}.kc-network-hero__media picture,.kc-network-hero__media img{display:block;width:100%;height:100%}.kc-network-hero__media img{object-fit:cover;object-position:64% 38%}.kc-network-hero__media::after{content:"";position:absolute;inset:2rem;border:1px solid rgba(255,255,255,.48);pointer-events:none}.kc-network-hero__media figcaption{position:absolute;right:.75rem;bottom:.75rem;padding:.3rem .55rem;background:rgba(20,18,17,.62);color:#fff;font-size:.58rem;letter-spacing:.06em}
.kc-network-eyebrow{margin:0 0 .8rem!important;color:var(--kc-network-accent)!important;font-size:.7rem!important;font-weight:750;letter-spacing:.22em;line-height:1.4}.kc-network-actions{gap:.75rem!important;margin-top:2rem}.kc-network-actions .wp-block-button__link,.kc-network-main>.wp-block-group .wp-block-button__link{display:inline-flex;min-height:3.4rem;align-items:center;justify-content:center;padding:.8rem 1.45rem;border:1px solid var(--kc-network-accent);border-radius:0;background:var(--kc-network-accent);color:#fff;font-size:.85rem;font-weight:700;text-decoration:none}.kc-network-actions .is-style-outline .wp-block-button__link,.kc-network-main>.wp-block-group .is-style-outline .wp-block-button__link{background:transparent;color:var(--kc-network-accent)}
.kc-network-section{max-width:none!important;padding:clamp(4.5rem,8vw,8rem) max(1.2rem,calc((100vw - var(--kc-network-content))/2))}.kc-network-section>*{max-width:var(--kc-network-content);margin-inline:auto}.kc-network-section>.kc-network-eyebrow,.kc-network-section>h2,.kc-network-section>.kc-network-lead{margin-left:auto;margin-right:auto}.kc-network-section--tint{background:var(--kc-network-tint)}.kc-network-section--dark{background:var(--kc-network-deep);color:#fff}.kc-network-section--dark p{color:rgba(255,255,255,.7)}.kc-network-about{text-align:center}.kc-network-about .kc-network-lead{max-width:45rem;font-family:"Hiragino Mincho ProN","Yu Mincho",serif;font-size:clamp(1.05rem,1.7vw,1.25rem);line-height:2.15;text-align:left}.kc-network-lead{max-width:46rem;font-size:clamp(1.02rem,1.7vw,1.22rem);line-height:2}
.kc-network-search-section{position:relative;background:#fff}.kc-directory-search{display:grid;grid-template-columns:repeat(4,minmax(0,1fr)) auto;gap:.7rem;margin-top:2.25rem;padding:clamp(1rem,2.5vw,2rem);background:var(--kc-network-deep);box-shadow:0 1.4rem 3.5rem rgba(36,33,31,.13)}.kc-directory-search__field{min-width:0}.kc-directory-search label{display:block;margin-bottom:.4rem;color:rgba(255,255,255,.72);font-size:.68rem;font-weight:700;letter-spacing:.08em}.kc-directory-search input,.kc-directory-search select{width:100%;min-width:0;min-height:3.2rem;padding:.65rem .75rem;border:1px solid rgba(255,255,255,.24);border-radius:0;background:#fff;color:#26211f;font:inherit;font-size:.85rem}.kc-directory-search button{align-self:end;min-height:3.2rem;padding:.7rem 1.25rem;border:1px solid #b96b79;background:#a84e5f;color:#fff;font:700 .84rem/1.4 sans-serif;cursor:pointer;white-space:nowrap}.kc-directory-search button:hover,.kc-directory-search button:focus-visible{background:#c26475}.kc-directory-search input:focus-visible,.kc-directory-search select:focus-visible,.kc-directory-search button:focus-visible,.kc-network-main a:focus-visible,.kc-network-header a:focus-visible,.kc-network-mobile-nav summary:focus-visible{outline:3px solid #d59baa;outline-offset:3px}
.kc-network-feature-grid,.kc-network-simple-grid,.kc-network-steps{gap:1rem!important;margin-top:2.5rem!important}.kc-network-feature-grid>.wp-block-column,.kc-network-simple-grid>.wp-block-column{min-width:0;padding:clamp(1.5rem,3vw,2.5rem);border-top:2px solid var(--kc-network-accent);background:#fff}.kc-network-feature-grid h3,.kc-network-simple-grid h3{margin:.8rem 0;font-family:"Hiragino Mincho ProN","Yu Mincho",serif;font-size:1.35rem}.kc-network-number{color:#c9b7a6!important;font-family:"Hiragino Mincho ProN","Yu Mincho",serif;font-size:2.8rem!important;line-height:1}
.kc-region-links{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem;margin:2.5rem 0 0;padding:0;list-style:none}.kc-region-links a{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:4.25rem;padding:1rem 1.2rem;border:1px solid var(--kc-network-border);color:var(--kc-network-ink);text-decoration:none}.kc-region-links a:hover{border-color:var(--kc-network-accent);background:#fff}.kc-region-links strong{color:var(--kc-network-muted);font-size:.72rem}.kc-network-empty{padding:2rem;border:1px solid var(--kc-network-border);text-align:center}
.kc-network-section-head{align-items:flex-end!important;margin-bottom:2rem}.kc-network-section-head h2{margin-bottom:0}.kc-network-section-head a{color:var(--kc-network-accent);font-weight:700}
.kc-academy-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.25rem}.kc-academy-card{min-width:0;overflow:hidden;background:#fff;box-shadow:0 1rem 2.7rem rgba(36,33,31,.09)}.kc-academy-card__media{display:block;aspect-ratio:4/3;overflow:hidden;background:#d8cabe;color:#665d58;text-decoration:none}.kc-academy-card__media img{display:block;width:100%;height:100%;object-fit:cover}.kc-academy-card__media span{display:grid;height:100%;place-items:center;font-size:.7rem;letter-spacing:.2em}.kc-academy-card__body{padding:1.5rem}.kc-academy-card__area{margin:0;color:var(--kc-network-accent)!important;font-size:.7rem;font-weight:700;letter-spacing:.08em}.kc-academy-card h3{margin:.55rem 0 .35rem;font-family:"Hiragino Mincho ProN","Yu Mincho",serif;font-size:1.35rem;line-height:1.55}.kc-academy-card h3 a{color:var(--kc-network-ink);text-decoration:none}.kc-academy-card__teacher{margin:.2rem 0 .8rem;font-size:.84rem}.kc-academy-card__types{display:flex;flex-wrap:wrap;gap:.35rem}.kc-academy-card__types span{padding:.25rem .55rem;background:var(--kc-network-tint);font-size:.68rem}.kc-academy-card__description{display:-webkit-box;margin:1rem 0;overflow:hidden;font-size:.86rem;line-height:1.8;-webkit-box-orient:vertical;-webkit-line-clamp:3}.kc-text-link{display:inline-flex;min-height:2.75rem;align-items:center;color:var(--kc-network-accent);font-size:.82rem;font-weight:700;text-decoration:none}.kc-academy-directory__empty{padding:2.5rem;border:1px solid var(--kc-network-border);text-align:center}.kc-academy-directory__empty a{color:var(--kc-network-accent);font-weight:700}
.kc-network-teacher-choice{background:linear-gradient(115deg,#fffdf8 0 62%,#e6d7c9 62%)}.kc-network-teacher-choice>*{max-width:46rem;margin-left:max(0px,calc((100% - var(--kc-network-content))/2))}.kc-network-check-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem 2rem;margin-top:2rem;padding:0;list-style:none}.kc-network-check-list li{padding:.8rem 0;border-bottom:1px solid var(--kc-network-border)}.kc-network-check-list li::before{content:"◇";margin-right:.6rem;color:var(--kc-network-accent)}
.kc-network-steps>.wp-block-column{padding:1.8rem 1.5rem;border-top:1px solid rgba(255,255,255,.28)}.kc-network-steps strong{color:#d69aa6;font-family:"Hiragino Mincho ProN","Yu Mincho",serif;font-size:2.6rem}.kc-network-steps h3{margin:.8rem 0;color:#fff;font-size:1.2rem}.kc-network-faq{margin-top:2rem}.kc-network-faq details{padding:1.15rem 0;border-top:1px solid var(--kc-network-border)}.kc-network-faq details:last-child{border-bottom:1px solid var(--kc-network-border)}.kc-network-faq summary{cursor:pointer;font-weight:700}.kc-network-faq details p{margin:.8rem 0 0;line-height:1.9}
.kc-network-teacher-cta{background:#e7d8cc;text-align:center}.kc-network-teacher-cta h2{margin-left:auto;margin-right:auto}.kc-network-teacher-cta>p{max-width:42rem}.kc-network-teacher-cta__label{color:var(--kc-network-ink)!important;font-family:"Hiragino Mincho ProN","Yu Mincho",serif;font-size:1.05rem!important}.kc-network-teacher-cta .wp-block-buttons{justify-content:center}
.kc-directory-page{padding:clamp(3.5rem,7vw,7rem) max(1.2rem,calc((100vw - var(--kc-network-content))/2))!important;min-height:65vh}.kc-directory-page__intro{margin-bottom:2rem}.kc-directory-page__intro h1{font-size:clamp(2.4rem,5vw,4.6rem)}.kc-directory-page .kc-directory-search{margin-bottom:3rem}.kc-directory-page .kc-academy-cards{grid-template-columns:repeat(3,minmax(0,1fr))}.kc-network-not-found{min-height:70vh;padding:clamp(5rem,12vw,10rem) max(1.2rem,calc((100vw - 48rem))/2)!important}.kc-network-not-found h1{font-size:clamp(2.2rem,5vw,4rem)}
.kc-portal-footer{padding:clamp(3rem,6vw,5rem) max(1.2rem,calc((100vw - var(--kc-network-content))/2)) 1.5rem;background:var(--kc-network-deep);color:#fff}.kc-portal-footer__inner{display:grid;grid-template-columns:1fr 1fr;gap:3rem;max-width:var(--kc-network-content);margin:auto}.kc-portal-footer__brand{margin:0 0 .6rem;font-family:"Hiragino Mincho ProN","Yu Mincho",serif;font-size:1.25rem;font-weight:700;letter-spacing:.14em}.kc-portal-footer p{color:rgba(255,255,255,.66)}.kc-portal-footer nav ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem 1.5rem;margin:0;padding:0;list-style:none}.kc-portal-footer a{color:#fff;font-size:.82rem;text-decoration:none}.kc-portal-footer a:hover,.kc-portal-footer a:focus-visible{text-decoration:underline}.kc-portal-footer__copy{max-width:var(--kc-network-content);margin:3rem auto 0;padding-top:1rem;border-top:1px solid rgba(255,255,255,.16);font-size:.72rem}

@media(max-width:1080px){.kc-network-header{grid-template-columns:auto 1fr auto}.kc-network-nav{display:none}.kc-network-mobile-nav{display:block;justify-self:end;grid-column:2}.kc-network-header__cta{grid-column:3}.kc-network-mobile-nav[open]{position:absolute;left:0;right:0;top:100%;padding:1rem 1.2rem 1.5rem;background:#fff;box-shadow:0 1rem 2rem rgba(36,33,31,.13)}.kc-network-mobile-nav[open] summary{text-align:right}.kc-network-mobile-nav ul{display:grid;gap:0;margin-top:.8rem}.kc-network-mobile-nav a{display:block;min-height:2.9rem;padding:.7rem;border-top:1px solid #e5ddd4;color:var(--kc-network-ink);text-decoration:none}.kc-directory-search{grid-template-columns:repeat(2,minmax(0,1fr))}.kc-directory-search button{grid-column:1/-1}.kc-region-links{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:820px){.kc-network-hero{grid-template-columns:1fr;min-height:auto}.kc-network-hero__copy{width:auto;margin:0;padding:4.5rem 1.4rem 3.5rem}.kc-network-hero__copy h1{font-size:clamp(2.8rem,9vw,4.5rem)}.kc-network-hero__media{min-height:32rem}.kc-network-hero__media::after{inset:1.2rem}.kc-academy-cards,.kc-directory-page .kc-academy-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.kc-region-links{grid-template-columns:repeat(2,minmax(0,1fr))}.kc-network-teacher-choice{background:#fffdf8}.kc-network-simple-grid,.kc-network-feature-grid,.kc-network-steps{flex-wrap:wrap!important}.kc-network-simple-grid>.wp-block-column,.kc-network-feature-grid>.wp-block-column,.kc-network-steps>.wp-block-column{flex-basis:calc(50% - .5rem)!important}.kc-portal-footer__inner{grid-template-columns:1fr}.kc-portal-footer nav ul{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.kc-network-header{min-height:4.7rem;padding:.65rem 1rem}.kc-network-brand{font-size:.9rem}.kc-network-brand small{display:none}.kc-network-header__cta{display:none}.kc-network-mobile-nav{grid-column:3}.kc-network-mobile-nav summary{display:flex;min-height:2.75rem;align-items:center}.kc-network-hero__copy{padding-top:3.7rem}.kc-network-hero__copy h1{font-size:2.65rem}.kc-network-hero__lead{font-size:1rem;line-height:1.9}.kc-network-hero__media{min-height:28rem}.kc-network-actions{width:100%;display:grid!important}.kc-network-actions .wp-block-button,.kc-network-actions .wp-block-button__link{width:100%}.kc-network-section{padding:4.5rem 1.2rem}.kc-directory-search{grid-template-columns:1fr;padding:1rem}.kc-directory-search button{grid-column:auto;min-height:3.35rem}.kc-academy-cards,.kc-directory-page .kc-academy-cards{grid-template-columns:1fr}.kc-region-links{grid-template-columns:1fr}.kc-network-simple-grid>.wp-block-column,.kc-network-feature-grid>.wp-block-column,.kc-network-steps>.wp-block-column{flex-basis:100%!important}.kc-network-section-head{display:block!important}.kc-network-check-list{grid-template-columns:1fr}.kc-directory-page{padding:3.5rem 1.2rem!important}.kc-portal-footer{padding:3.5rem 1.2rem 1.5rem}.kc-portal-footer nav ul{grid-template-columns:1fr}.kc-network-not-found{padding:5rem 1.2rem!important}}

html { scroll-behavior: smooth; }
body { color: var(--kc-ink); background: var(--kc-paper); }
body, button, input, textarea { font-family: "Hiragino Mincho ProN", "Yu Mincho", "Noto Serif JP", serif; }
* { box-sizing: border-box; }
img { max-width: 100%; height: auto; }
a { text-underline-offset: .18em; }

.kc-site-header {
  position: relative;
  z-index: 20;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  max-width: var(--kc-content);
  margin: 0 auto;
  padding: 1.15rem clamp(1rem, 4vw, 2.5rem);
}
.kc-brand { color: var(--kc-ink); font-size: clamp(1rem, 2.2vw, 1.3rem); font-weight: 700; letter-spacing: .12em; text-decoration: none; }
.kc-header-note { color: var(--kc-muted); font-family: sans-serif; font-size: .78rem; letter-spacing: .06em; }

.kc-lp { overflow: hidden; }
.kc-section { padding: var(--kc-section) clamp(1.25rem, 5vw, 3rem); }
.kc-section--tint { background: var(--kc-washi); }
.kc-container { width: min(100%, var(--kc-content)); margin-inline: auto; }
.kc-reading { width: min(100%, var(--kc-reading)); margin-inline: auto; }
.kc-kicker { margin: 0 0 .7rem; color: var(--kc-accent); font-family: sans-serif; font-size: .76rem; font-weight: 700; letter-spacing: .18em; text-transform: uppercase; }
.kc-heading { margin: 0 0 1.5rem; font-size: clamp(1.75rem, 4.5vw, 3rem); font-weight: 500; letter-spacing: .04em; line-height: 1.45; }
.kc-lead { margin: 0; color: var(--kc-muted); font-size: clamp(1rem, 2vw, 1.18rem); line-height: 2; }

.kc-hero { position: relative; min-height: min(52rem, 88vh); display: grid; align-items: end; background: linear-gradient(135deg, #eadfd4, #d8c9bd 48%, #b9aaa0); }
.kc-hero::before { content: "正式写真に差し替え予定"; position: absolute; inset: 0; display: grid; place-items: center; color: rgba(48,43,41,.45); font-family: sans-serif; font-size: .85rem; letter-spacing: .14em; }
.kc-hero__content { position: relative; width: min(100%, var(--kc-content)); margin-inline: auto; padding: clamp(7rem, 20vh, 13rem) clamp(1.25rem, 5vw, 3rem) clamp(3rem, 8vw, 6rem); }
.kc-hero__panel { width: min(100%, 40rem); padding: clamp(1.5rem, 4vw, 3rem); background: rgba(255,253,249,.92); box-shadow: var(--kc-shadow); backdrop-filter: blur(.5rem); }
.kc-hero h1 { margin: .3rem 0 1rem; font-size: clamp(2rem, 6vw, 4.4rem); font-weight: 500; letter-spacing: .06em; line-height: 1.35; }
.kc-hero p { margin: 0; color: var(--kc-muted); line-height: 1.9; }

.kc-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(1rem, 3vw, 2rem); }
.kc-card { padding: clamp(1.4rem, 3vw, 2.2rem); background: var(--kc-paper); border-top: .18rem solid var(--kc-accent); box-shadow: var(--kc-shadow); }
.kc-card h3 { margin: 0 0 .8rem; font-size: 1.25rem; font-weight: 600; }
.kc-card p { margin: 0; color: var(--kc-muted); line-height: 1.8; }
.kc-card__meta { display: block; margin-top: 1rem; color: var(--kc-sage); font-family: sans-serif; font-size: .84rem; font-weight: 700; }

.kc-split { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(2rem, 6vw, 6rem); align-items: center; }
.kc-split > div > .kc-heading { font-size:clamp(2rem,3.2vw,2.8rem); }
.kc-placeholder { min-height: clamp(18rem, 45vw, 36rem); display: grid; place-items: center; background: linear-gradient(145deg, #ded4ca, #c7b8ac); color: rgba(48,43,41,.5); font-family: sans-serif; font-size: .8rem; letter-spacing: .12em; }
.kc-list { margin: 1.5rem 0 0; padding: 0; list-style: none; }
.kc-list li { position: relative; padding: .8rem 0 .8rem 1.6rem; border-bottom: 1px solid var(--kc-border); line-height: 1.7; }
.kc-list li::before { content: "◆"; position: absolute; left: 0; top: 1rem; color: var(--kc-accent); font-size: .65rem; }

.kc-gallery { display: grid; grid-template-columns: 1.25fr .75fr .75fr; grid-auto-rows: 15rem; gap: .8rem; }
.kc-gallery .kc-placeholder:first-child { grid-row: span 2; }
.kc-gallery .kc-placeholder { min-height: 0; }

.kc-quote { margin: 0; padding: clamp(1.5rem, 4vw, 3rem); border-left: .2rem solid var(--kc-accent); background: var(--kc-paper); font-size: clamp(1.05rem, 2.3vw, 1.35rem); line-height: 2; }
.kc-faq details { border-top: 1px solid var(--kc-border); padding: 1.25rem 0; }
.kc-faq details:last-child { border-bottom: 1px solid var(--kc-border); }
.kc-faq summary { cursor: pointer; font-size: 1.05rem; font-weight: 600; }
.kc-faq p { color: var(--kc-muted); line-height: 1.9; }

.kc-button { display: inline-flex; min-height: 3.4rem; align-items: center; justify-content: center; margin-top: 1.5rem; padding: .85rem 1.7rem; border: 1px solid var(--kc-accent); border-radius: 999px; background: var(--kc-accent); color: #fff; font-family: sans-serif; font-weight: 700; letter-spacing: .04em; text-decoration: none; }
.kc-button:hover, .kc-button:focus-visible { background: var(--kc-accent-dark); border-color: var(--kc-accent-dark); }
.kc-button--ghost { background: transparent; color: var(--kc-accent); }
.kc-button--disabled { cursor: not-allowed; opacity: .55; }
.kc-cta { text-align: center; background: var(--kc-ink); color: #fff; }
.kc-cta .kc-lead { color: rgba(255,255,255,.78); }
.kc-cta .kc-button { background: #fff; border-color: #fff; color: var(--kc-ink); }

.kc-site-footer { padding: 2.5rem 1.25rem; background: #211e1d; color: rgba(255,255,255,.72); font-family: sans-serif; font-size: .8rem; text-align: center; }

@media (max-width: 820px) {
  .kc-grid { grid-template-columns: 1fr; }
  .kc-split { grid-template-columns: 1fr; }
  .kc-gallery { grid-template-columns: 1fr 1fr; grid-auto-rows: 13rem; }
  .kc-gallery .kc-placeholder:first-child { grid-column: span 2; grid-row: auto; }
}

@media (max-width: 520px) {
  .kc-site-header { padding-block: .9rem; }
  .kc-header-note { display: none; }
  .kc-hero { min-height: 42rem; }
  .kc-hero__panel { padding: 1.5rem; }
  .kc-section { padding-inline: 1.2rem; }
  .kc-gallery { grid-template-columns: 1fr; grid-auto-rows: 14rem; }
  .kc-gallery .kc-placeholder:first-child { grid-column: auto; }
  .kc-button { width: 100%; }
}

/* Design refinement v1 */
:root {
  --kc-ink: #262320;
  --kc-muted: #655f5a;
  --kc-paper: #fffefa;
  --kc-washi: #f3eee5;
  --kc-accent: #923f4c;
  --kc-deep: #332d2a;
  --kc-content: 74rem;
  --kc-reading: 43rem;
  --kc-section: clamp(4.5rem, 8vw, 8.5rem);
}
body { margin: 0; font-size: 1rem; line-height: 1.85; }
.kc-site-header { min-height: 5.5rem; padding-block: 1rem; }
.kc-brand { max-width: 38rem; line-height: 1.6; }
.kc-header-note { position: relative; padding-left: 1.3rem; }
.kc-header-note::before { content: ""; position: absolute; left: 0; top: 50%; width: .7rem; height: 1px; background: var(--kc-accent); }
.kc-section { position: relative; }
.kc-heading { max-width: 18em; font-size: clamp(2rem, 4vw, 3.45rem); line-height: 1.42; word-break: normal; overflow-wrap: break-word; line-break: strict; text-wrap: pretty; }
.kc-lead { max-width: 42rem; font-size: clamp(1.05rem, 1.5vw, 1.18rem); line-height: 2.05; }
.kc-kicker { margin-bottom: 1rem; font-size: .7rem; letter-spacing: .24em; }

.kc-hero { min-height: min(48rem, calc(100vh - 5.5rem)); display: grid; grid-template-columns: minmax(20rem, 42%) 1fr; align-items: stretch; background: #d9cdc3; }
.kc-hero::before { content: none; }
.kc-hero__media { position: relative; grid-column: 2; min-height: 42rem; background: linear-gradient(120deg, rgba(54,46,42,.12), transparent 45%), linear-gradient(145deg, #ddd2ca, #bca99d); }
.kc-hero__media::after { content: ""; position: absolute; inset: 7% 8%; border: 1px solid rgba(255,255,255,.45); }
.kc-hero__media span, .kc-photo span, .kc-community__photo span { position: absolute; left: 50%; top: 50%; transform: translate(-50%,-50%); color: rgba(38,35,32,.44); font-family: sans-serif; font-size: .72rem; letter-spacing: .2em; white-space: nowrap; }
.kc-hero__content { position: absolute; z-index: 2; inset: 0; display: flex; align-items: center; width: min(100%, var(--kc-content)); padding: 3rem; pointer-events: none; }
.kc-hero__panel { width: min(48%, 34rem); padding: 0; background: transparent; box-shadow: none; backdrop-filter: none; pointer-events: auto; }
.kc-hero h1 { margin: .45rem 0 1.4rem; font-size: clamp(2.8rem, 5vw, 4.8rem); line-height: 1.32; letter-spacing: .045em; }
.kc-hero__copy { max-width: 31rem; font-size: 1.05rem; color: #504a46 !important; }
.kc-hero .kc-button { box-shadow: 0 .9rem 2rem rgba(111,47,57,.2); }

.kc-message { background: var(--kc-paper); text-align: center; }
.kc-message .kc-heading, .kc-message .kc-lead { margin-inline: auto; }
.kc-message .kc-lead { text-align: left; }
.kc-teacher { background: #ebe2d8; }
.kc-split--teacher { grid-template-columns: minmax(18rem, .8fr) minmax(20rem, 1fr); }
.kc-split--teacher > * { min-width: 0; }
.kc-photo { position: relative; min-height: 18rem; display: grid; place-items: center; overflow: hidden; background: linear-gradient(145deg,#dcd1c8,#bba99c); color: rgba(38,35,32,.48); font-family: sans-serif; font-size: .72rem; letter-spacing: .14em; }
.kc-photo::after { content: ""; position: absolute; inset: .8rem; border: 1px solid rgba(255,255,255,.36); pointer-events: none; }
.kc-photo img, .kc-hero__media img, .kc-community__photo img { width: 100%; height: 100%; object-fit: cover; }
.has-image::after { content: none; }
.kc-photo--portrait { min-height: clamp(31rem, 48vw, 43rem); aspect-ratio: 4 / 5; }
.kc-sign { margin-top: 2rem; padding-top: 1rem; border-top: 1px solid rgba(48,43,41,.16); color: var(--kc-muted); font-size: .88rem; letter-spacing: .08em; }
.kc-teacher-socials { display:flex; flex-wrap:wrap; gap:.65rem; margin-top:1rem; }
.kc-teacher-socials__link { display:grid; width:2.75rem; height:2.75rem; place-items:center; border:1px solid rgba(48,43,41,.22); border-radius:50%; background:rgba(255,255,255,.62); color:var(--kc-ink); text-decoration:none; transition:background-color .2s ease,border-color .2s ease,color .2s ease,transform .2s ease; }
.kc-teacher-socials__link svg { display:block; width:1.2rem; height:1.2rem; }
.kc-teacher-socials__link:hover { transform:translateY(-2px); border-color:var(--kc-accent); background:var(--kc-accent); color:#fff; }
.kc-teacher-socials__link:focus-visible { outline:3px solid var(--kc-accent); outline-offset:3px; }
.kc-social-wordmark { font-family:Arial,sans-serif; font-size:.72rem; font-weight:700; letter-spacing:-.04em; line-height:1; }
.kc-visually-hidden { position:absolute!important; width:1px!important; height:1px!important; padding:0!important; margin:-1px!important; overflow:hidden!important; clip:rect(0,0,0,0)!important; white-space:nowrap!important; border:0!important; }

.kc-lesson-grid { grid-template-columns:repeat(var(--kc-lesson-columns,3),minmax(0,1fr)); margin-top: 3rem; gap: 1px; background: var(--kc-border); border: 1px solid var(--kc-border); }
.kc-lesson-grid.kc-lesson-grid--featured { grid-template-columns:minmax(18rem,.82fr) minmax(0,1.7fr); }
.kc-lesson-grid__photo { min-width:0; min-height:30rem; margin:0; overflow:hidden; background:#ded6cc; }
.kc-lesson-grid__photo img { display:block; width:100%; height:100%; min-height:30rem; object-fit:cover; object-position:center; }
.kc-card { position: relative; min-height: 30rem; padding: clamp(2rem,3.6vw,3.3rem); border: 0; box-shadow: none; }
.kc-card__number { position: absolute; right: 1.4rem; top: 1.1rem; color: #ded6cc; font-size: 3.5rem; line-height: 1; }
.kc-card__en { color: var(--kc-accent) !important; font-family: sans-serif; font-size: .68rem; font-weight: 700; letter-spacing: .22em; }
.kc-card h3 { margin: 1.2rem 0 .3rem; font-size: 1.75rem; font-weight: 500; }
.kc-card__tagline { margin-bottom: 2rem !important; color: var(--kc-ink) !important; font-size: 1.05rem; font-weight: 600; }
.kc-card__meta { position: absolute; left: clamp(2rem,3.6vw,3.3rem); bottom: 2.5rem; }

.kc-recruit { background: #ded2c7; }
.kc-recruit-list { display: grid; gap: 1.25rem; }
.kc-section-intro { display: flex; align-items: end; justify-content: space-between; gap: 3rem; margin-bottom: 2.5rem; }
.kc-section-intro .kc-heading { margin-bottom: 0; }
.kc-section-intro > p { max-width: 29rem; margin: 0 0 .5rem; color: var(--kc-muted); }
.kc-recruit-card { display: grid; grid-template-columns: 11rem 1fr auto; align-items: stretch; background: var(--kc-paper); box-shadow: var(--kc-shadow); }
.kc-recruit-card__image { grid-column: 1 / -1; max-height: 15rem; overflow: hidden; }
.kc-recruit-card__image img { display: block; width: 100%; height: 15rem; object-fit: cover; }
.kc-recruit-card__detail-link { margin: 0 0 .45rem; font-size: .86rem; }
.kc-recruit-card__detail-link a { color: var(--kc-accent); font-weight: 700; }
.kc-lesson-detail__inner { display: grid; grid-template-columns: minmax(14rem, .9fr) minmax(0, 1.1fr); gap: clamp(1.5rem, 4vw, 3rem); align-items: start; }
.kc-lesson-detail__inner img { display:block; width:100%; height:auto; border-radius:var(--kc-radius); }
.kc-lesson-detail__body { white-space: pre-line; line-height: 2; margin: 1rem 0 1.5rem; }
@media (max-width: 760px) { .kc-lesson-detail__inner { grid-template-columns: 1fr; } }
@media (max-width: 760px) {
  .kc-lesson-grid,.kc-lesson-grid.kc-lesson-grid--featured { grid-template-columns:1fr; }
  .kc-lesson-grid__photo,.kc-lesson-grid__photo img { min-height:18rem; }
  .kc-lesson-grid__photo img { aspect-ratio:4/3; }
}
.kc-recruit-card__date { display: flex; flex-direction: column; justify-content: center; gap: .55rem; padding: 2rem; border-right: 1px solid var(--kc-border); text-align: center; }
.kc-recruit-card__date strong { color: var(--kc-accent); font-family: sans-serif; font-size: .75rem; letter-spacing: .12em; }
.kc-recruit-card__date span { font-size: 1.05rem; }
.kc-recruit-card__body { padding: 2.2rem 2.5rem; }
.kc-recruit-card__body h3 { margin: .5rem 0 1.2rem; font-size: 1.5rem; font-weight: 500; }
.kc-recruit-card__requirement { margin: -.35rem 0 1.15rem; padding: .7rem .85rem; border-left: 3px solid var(--kc-accent); background: var(--kc-washi); font-size: .86rem; font-weight: 600; }
.kc-status { display: inline-block; padding: .2rem .65rem; border: 1px solid var(--kc-accent); color: var(--kc-accent); font-family: sans-serif; font-size: .7rem; font-weight: 700; }
.kc-recruit-card dl { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .65rem 2rem; margin: 0; }
.kc-recruit-card dl div { display: grid; grid-template-columns: 5rem 1fr; }
.kc-recruit-card dt { color: var(--kc-muted); font-family: sans-serif; font-size: .76rem; }
.kc-recruit-card dd { margin: 0; font-size: .92rem; }
.kc-recruit-card__action { display: grid; place-items: center; min-width: 13rem; padding: 2rem; background: var(--kc-deep); color: #fff; font-family: sans-serif; font-size: .84rem; text-align: center; text-decoration: none; }
.kc-recruit-card dl .kc-recruit-card__address { grid-column: 1 / -1; }
.kc-recruit-card__map { grid-column: 1 / -1; min-width: 0; padding: 0 clamp(1rem,3vw,2.5rem) 2rem; background: var(--kc-paper); }
.kc-recruit-card__map iframe { display: block; width: 100%; min-height: 18rem; border: 0; }
.kc-recruit-card:has(.kc-recruit-card__map) .kc-recruit-card__action { grid-column: 1 / -1; min-height: 4rem; padding: 1rem 1.5rem; }

/* Keep recruitment information readable as the available width changes. */
.kc-recruit .kc-heading { font-size: clamp(2rem, 3.5vw, 3.45rem); text-wrap: balance; }
.kc-recruit-card__date span { font-size: clamp(.95rem, 1.35vw, 1.08rem); }
.kc-recruit-card__body h3 { font-size: clamp(1.25rem, 2vw, 1.5rem); line-height: 1.55; }
.kc-recruit-card dd { font-size: clamp(.88rem, 1.15vw, .96rem); }
.kc-recruit-card__action { font-size: clamp(.8rem, 1.05vw, .9rem); line-height: 1.7; }

@media (max-width: 1100px) {
  .kc-recruit .kc-section-intro { display: block; }
  .kc-recruit .kc-section-intro > p { max-width: 42rem; margin-top: 1.25rem; font-size: 1rem; line-height: 1.9; }
  .kc-recruit-card { grid-template-columns: clamp(8.5rem, 18vw, 10rem) minmax(0, 1fr); }
  .kc-recruit-card__body { min-width: 0; padding: clamp(1.6rem, 3vw, 2.2rem); }
  .kc-recruit-card__action { grid-column: 1 / -1; min-width: 0; min-height: 4rem; padding: 1rem 1.5rem; }
}

.kc-gallery { grid-template-columns: 1.35fr .65fr .65fr; grid-auto-rows: 15rem; gap: .65rem; margin-top: 2.5rem; }
.kc-gallery .kc-photo--main { grid-row: span 2; min-height: 0; }
.kc-gallery .kc-photo { min-height: 0; }
.kc-community { background: var(--kc-deep); color: #fff; }
.kc-community__photo { position: relative; min-height: clamp(24rem,48vw,42rem); background: linear-gradient(115deg,rgba(36,31,29,.25),transparent 50%),linear-gradient(145deg,#b9a79b,#796b63); }
.kc-community__photo::after { content: ""; position: absolute; inset: 2rem; border: 1px solid rgba(255,255,255,.3); }
.kc-community__photo span { color: rgba(255,255,255,.72); }
.kc-community__copy { width: min(calc(100% - 2.5rem), 54rem); margin: -6rem auto 0; position: relative; z-index: 2; padding: clamp(2rem,5vw,4.5rem); background: var(--kc-deep); }
.kc-community .kc-kicker { color: #d7abb2; }
.kc-community .kc-lead { color: rgba(255,255,255,.76); }
.kc-photo--map { min-height: 27rem; }
.kc-note { margin-top: 1.5rem; color: var(--kc-muted); font-size: .88rem; }
.kc-quote { box-shadow: none; background: var(--kc-washi); }
.kc-cta { padding-block: clamp(6rem,12vw,11rem); background: #292423; }
.kc-cta .kc-heading { margin-inline: auto; }
.kc-cta .kc-lead { margin-inline: auto; }
.kc-cta .kc-reading { max-width: 52rem; }
.kc-cta .kc-heading { font-size: clamp(2rem, 4vw, 3.2rem); }

@media (max-width: 820px) {
  .kc-site-header { min-height: 5rem; }
  .kc-hero { min-height: auto; grid-template-columns: 1fr; }
  .kc-hero__media { grid-column: 1; min-height: 34rem; }
  .kc-hero__content { position: relative; display: block; padding: 0 2.5rem 4.5rem; margin-top: -5rem; }
  .kc-hero__panel { width: 100%; padding: 2.5rem; background: rgba(255,254,250,.96); box-shadow: var(--kc-shadow); }
  .kc-split--teacher { grid-template-columns: 1fr; gap: 3rem; }
  .kc-photo--portrait { width:min(100%,34rem); min-height:0; aspect-ratio:4/5; margin-inline:auto; }
  .kc-grid { grid-template-columns: 1fr; }
  .kc-card { min-height: 23rem; }
  .kc-recruit-card { grid-template-columns: 9rem 1fr; }
  .kc-recruit-card__action { grid-column: 1 / -1; min-height: 3.5rem; }
  .kc-gallery { grid-template-columns: 1fr 1fr; }
  .kc-gallery .kc-photo--main { grid-column: span 2; grid-row: auto; min-height: 28rem; }
}

@media (max-width: 600px) {
  .kc-site-header { align-items: flex-start; min-height: 4.5rem; padding: .85rem 1rem; }
  .kc-brand { font-size: .88rem; letter-spacing: .08em; }
  .kc-header-note { display: none; }
  .kc-section { padding: 4.5rem 1.2rem; }
  .kc-heading { font-size: clamp(1.55rem,7vw,1.8rem); }
  .kc-split--teacher > div > .kc-heading { font-size: clamp(1.55rem,7vw,1.8rem); }
  .kc-section--audience .kc-split > div > .kc-heading,
  .kc-section--lessons > .kc-container > .kc-heading,
  .kc-section--learning .kc-split > div > .kc-heading,
  .kc-recruit .kc-heading,
  .kc-voices .kc-heading,
  .kc-cta .kc-heading {
    max-width: none;
    font-size: clamp(1.125rem,5.5vw,1.375rem);
    letter-spacing: .02em;
    line-height: 1.5;
    text-wrap: nowrap;
    white-space: nowrap;
  }
  .kc-lead { font-size: 1rem; line-height: 2; }
  .kc-hero { display: flex; flex-direction: column; background: #d9cdc3; }
  .kc-hero__media { order: 1; min-height: 0; aspect-ratio: 4 / 4.6; }
  .kc-hero__content { order: 2; margin-top: 0; padding: 0; }
  .kc-hero__panel { padding: 2.25rem 1.25rem 3.25rem; background: var(--kc-paper); box-shadow: none; }
  .kc-hero h1 { margin-bottom: 1.1rem; font-size: 2.2rem; line-height: 1.42; }
  .kc-hero__copy { font-size: 1rem; line-height: 1.95; }
  .kc-hero .kc-button { width: 100%; margin-top: 1.5rem; }
  .kc-message { text-align: left; }
  .kc-message br { display: none; }
  .kc-split, .kc-split--teacher { grid-template-columns: 1fr; gap: 2.5rem; }
  .kc-photo--portrait { min-height: 0; aspect-ratio: 4 / 5; }
  .kc-teacher .kc-photo { margin-inline: 1rem; }
  .kc-card { min-height: auto; padding-bottom: 6rem; }
  .kc-card__meta { bottom: 2rem; }
  .kc-section-intro { display: block; }
  .kc-section-intro > p { margin-top: 1rem; }
  .kc-recruit-card { display: block; }
  .kc-recruit-card__date { flex-direction: row; border-right: 0; border-bottom: 1px solid var(--kc-border); padding: 1rem 1.25rem; }
  .kc-recruit-card__body { padding: 1.5rem 1.25rem 2rem; }
  .kc-recruit-card dl { grid-template-columns: 1fr; }
  .kc-recruit-card__action { min-height: 3.5rem; padding: 1rem; }
  .kc-gallery { grid-template-columns: 1fr 1fr; grid-auto-rows: 11rem; }
  .kc-gallery .kc-photo--main { grid-column: span 2; min-height: 22rem; }
  .kc-gallery .kc-photo:last-child { grid-column: span 2; }
  .kc-community__photo { min-height: 0; aspect-ratio: 4 / 3; }
  .kc-community__photo::after { inset: 1rem; }
  .kc-community__copy { width: 100%; margin: 0; padding: 3.5rem 1.2rem 4.5rem; }
  .kc-community__copy br { display: none; }
  .kc-photo--map { min-height: 20rem; }
  .kc-cta { padding-block: 6rem; }
}

/* Network portal 0.8.0: bright, grown-up national portal typography and rhythm. */
.kc-network-main,.kc-network-header,.kc-portal-footer{
  --kc-network-ink:#312c2b;--kc-network-muted:#706865;--kc-network-paper:#fffdf9;
  --kc-network-tint:#fff2ed;--kc-network-coral:#e66f72;--kc-network-pink:#f7d9df;
  --kc-network-orange:#f2a35b;--kc-network-sage:#a9bca8;--kc-network-indigo:#607da6;
  --kc-network-accent:#d85e67;--kc-network-deep:#3d3d52;--kc-network-border:#e7dcd4;
  --kc-network-radius:1.5rem;--kc-network-h1:clamp(3rem,4vw,3.5rem);
  --kc-network-h2:clamp(2rem,2.5vw,2.25rem);--kc-network-h3:clamp(1.375rem,1.7vw,1.5rem);
  --kc-network-body:clamp(1rem,1.15vw,1.125rem);--kc-network-note:clamp(.875rem,1vw,.9375rem);
}
.kc-network-main{font-size:var(--kc-network-body);line-height:1.85}
.kc-network-main h1,.kc-network-main h2,.kc-network-main h3{font-family:"Hiragino Kaku Gothic ProN","Yu Gothic","Noto Sans JP",sans-serif;font-weight:750;letter-spacing:.025em}
.kc-network-main h1{font-size:var(--kc-network-h1);line-height:1.35}.kc-network-main h2{font-size:var(--kc-network-h2);line-height:1.5}.kc-network-main h3{font-size:var(--kc-network-h3);line-height:1.5}
.kc-network-header{background:rgba(255,253,249,.97)}.kc-network-brand{color:#3d3d52}.kc-network-header__cta{min-height:3rem;border:0;border-radius:999px;background:linear-gradient(135deg,var(--kc-network-coral),#d85e89);font-size:1rem;box-shadow:0 .45rem 1.1rem rgba(216,94,103,.2)}
.kc-network-nav a{font-size:.9375rem}.kc-network-brand small{font-size:.75rem}
.kc-network-hero{grid-template-columns:minmax(25rem,46%) 1fr;min-height:min(42rem,calc(100vh - 5.5rem));background:linear-gradient(135deg,#fff6ef 0 48%,#f8e6e2 48%)}
.kc-network-hero::before{content:"";position:absolute;z-index:1;left:clamp(1rem,5vw,5rem);top:2rem;width:7rem;height:7rem;border-radius:50%;background:rgba(242,163,91,.2)}
.kc-network-hero__copy{width:min(100%,40rem);padding-block:clamp(3.25rem,6vw,5.25rem)}
.kc-network-hero__copy h1{margin:.6rem 0 1.25rem;font-size:var(--kc-network-h1);color:#3d3d52}.kc-network-hero__lead{font-size:var(--kc-network-body);line-height:1.9}
.kc-network-hero__note{margin:1.25rem 0 0!important;color:#76635f!important;font-size:var(--kc-network-note)!important;font-weight:700;line-height:1.8}
.kc-network-hero__media{margin:1.5rem 1.5rem 1.5rem 0;border-radius:3.25rem 1.1rem 3.25rem 1.1rem;box-shadow:0 1.5rem 3.5rem rgba(61,61,82,.14)}.kc-network-hero__media img{object-position:50% 38%}.kc-network-hero__media::after{inset:1.5rem;border-radius:2.4rem .7rem 2.4rem .7rem}
.kc-network-actions .wp-block-button__link,.kc-network-main>.wp-block-group .wp-block-button__link{min-height:3.25rem;border:0;border-radius:999px;background:linear-gradient(135deg,var(--kc-network-coral),#d85e89);font-size:1rem;box-shadow:0 .5rem 1.25rem rgba(216,94,103,.2)}
.kc-network-actions .is-style-outline .wp-block-button__link,.kc-network-main>.wp-block-group .is-style-outline .wp-block-button__link{border:2px solid var(--kc-network-indigo);background:#fff;color:#4e6f9d;box-shadow:none}
.kc-network-eyebrow{display:inline-flex;align-items:center;gap:.5rem;margin-bottom:.7rem!important;color:var(--kc-network-accent)!important;font-size:var(--kc-network-note)!important;letter-spacing:.16em}.kc-network-eyebrow::before{content:"";width:1.8rem;height:.25rem;border-radius:99px;background:linear-gradient(90deg,var(--kc-network-coral),var(--kc-network-orange))}
.kc-network-section{padding-block:clamp(4rem,6vw,6rem)}.kc-network-section--tint{background:#fff4ef}.kc-network-section:nth-of-type(4){background:#f1f5ef}.kc-network-about{background:#fffdf9}
.kc-network-search-section{z-index:3;background:linear-gradient(180deg,#fffdf9,#fff7f3)}
.kc-quick-chips{display:flex;flex-wrap:wrap;gap:.65rem;margin:1.35rem 0 1.5rem}.kc-quick-chips a{display:inline-flex;min-height:3rem;align-items:center;padding:.65rem 1rem;border:1px solid #eadbd6;border-radius:999px;background:#fff;color:#4b4140;font-size:var(--kc-network-note);font-weight:700;text-decoration:none;box-shadow:0 .3rem 1rem rgba(61,61,82,.06)}.kc-quick-chips a:nth-child(2){background:#fff0f3}.kc-quick-chips a:nth-child(3){background:#fff5e8}.kc-quick-chips a:nth-child(4){background:#eff5ed}.kc-quick-chips a:hover{transform:translateY(-2px);border-color:var(--kc-network-coral)}
.kc-directory-search{gap:.75rem;margin-top:1.5rem;border:1px solid #eaded8;border-radius:var(--kc-network-radius);background:#fff;box-shadow:0 1.2rem 3rem rgba(61,61,82,.1)}.kc-directory-search label{color:#5f5553;font-size:var(--kc-network-note);letter-spacing:.03em}.kc-directory-search input,.kc-directory-search select{min-height:3.25rem;border:1px solid #d8ccc6;border-radius:.75rem;background:#fffdfb;font-size:1rem}.kc-directory-search button{min-height:3.25rem;border:0;border-radius:.75rem;background:linear-gradient(135deg,var(--kc-network-coral),#d85e89);font-size:1rem}.kc-directory-search button:hover,.kc-directory-search button:focus-visible{background:#c94f5c}
.kc-network-benefits{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem!important;margin-top:2.5rem!important}.kc-network-benefits>.wp-block-column{padding:1.5rem;border:1px solid #eee0da;border-radius:1.35rem;background:#fff;text-align:left;box-shadow:0 .8rem 2rem rgba(61,61,82,.06)}.kc-network-benefits>.wp-block-column:nth-child(2){background:#fff3f5}.kc-network-benefits>.wp-block-column:nth-child(3){background:#f0f4f9}.kc-network-benefits>.wp-block-column:nth-child(4){background:#f1f5ef}.kc-network-benefits span{display:grid;width:3rem;height:3rem;place-items:center;border-radius:50%;background:#fff;color:var(--kc-network-indigo);font-size:1.35rem}.kc-network-benefits h3{margin:1rem 0 .4rem;font-size:1.15rem}.kc-network-benefits p{margin:0;font-size:var(--kc-network-note)}
.kc-network-feature-grid>.wp-block-column,.kc-network-simple-grid>.wp-block-column{border:1px solid #ebddd6;border-radius:var(--kc-network-radius);box-shadow:0 .7rem 1.8rem rgba(61,61,82,.06)}.kc-network-feature-grid>.wp-block-column:nth-child(1){border-top:.4rem solid var(--kc-network-indigo)}.kc-network-feature-grid>.wp-block-column:nth-child(2){border-top:.4rem solid var(--kc-network-coral)}.kc-network-feature-grid>.wp-block-column:nth-child(3){border-top:.4rem solid var(--kc-network-sage)}.kc-network-feature-grid h3,.kc-network-simple-grid h3{font-family:inherit;font-size:var(--kc-network-h3)}
.kc-network-number{color:var(--kc-network-orange)!important;font-family:inherit;font-size:2rem!important;font-weight:800}
.kc-region-links a{border-radius:1rem;background:#fff;box-shadow:0 .3rem 1rem rgba(61,61,82,.04)}
.kc-academy-card{border:1px solid #eadfd8;border-radius:var(--kc-network-radius);box-shadow:0 .8rem 2.2rem rgba(61,61,82,.09)}.kc-academy-card__media{border-radius:var(--kc-network-radius) var(--kc-network-radius) 0 0}.kc-academy-card h3{font-family:inherit;font-size:var(--kc-network-h3)}.kc-academy-card__area,.kc-academy-card__types span{font-size:var(--kc-network-note)}.kc-academy-card__types span{border-radius:999px;background:#fff0ec}.kc-academy-card__teacher,.kc-academy-card__description,.kc-text-link{font-size:var(--kc-network-note)}
.kc-network-section--dark{padding-block:clamp(3.75rem,5vw,5rem);background:#3d3d52}.kc-network-steps{align-items:stretch}.kc-network-steps>.wp-block-column{display:flex;min-height:14rem;flex-direction:column;justify-content:flex-start;border-top:0;border-radius:1.5rem;background:rgba(255,255,255,.08)}.kc-network-steps h3{font-size:var(--kc-network-h3)}.kc-network-steps p{margin-top:auto}
.kc-network-teacher-cta{background:linear-gradient(135deg,#f8dfe3,#f8ebd9)}
.kc-directory-page{padding-top:0!important;background:linear-gradient(180deg,#fff1ed 0 23rem,#fffdf9 23rem)}.kc-directory-page__intro{max-width:none!important;margin-inline:calc(max(1.2rem,calc((100vw - var(--kc-network-content))/2))*-1)!important;margin-bottom:0;padding:clamp(3.5rem,6vw,5.5rem) max(1.2rem,calc((100vw - var(--kc-network-content))/2)) 3rem;background:radial-gradient(circle at 88% 20%,rgba(242,163,91,.3) 0 5rem,transparent 5.1rem)}.kc-directory-page__intro h1{max-width:var(--kc-network-content);font-size:var(--kc-network-h1)}.kc-directory-page__intro>p:not(.kc-network-eyebrow){max-width:42rem}.kc-directory-page>.kc-directory-search{position:relative;margin-top:-1.5rem;margin-bottom:4rem}.kc-directory-page__results>h2{margin:0 0 2rem;font-size:var(--kc-network-h2)}
.kc-academy-directory__empty{border:2px dashed #e3c9c6;border-radius:var(--kc-network-radius);background:#fff7f4}.kc-academy-directory__empty>span{display:grid;width:3.5rem;height:3.5rem;margin:0 auto 1rem;place-items:center;border-radius:50%;background:#fff;font-size:1.5rem}.kc-academy-directory__empty h3{margin:.4rem 0;font-size:var(--kc-network-h3)}.kc-academy-directory__empty p{margin:.3rem auto 1rem;max-width:36rem}.kc-academy-directory__empty a{display:inline-flex;min-height:3rem;align-items:center;padding:.6rem 1rem;border-radius:999px;background:var(--kc-network-coral);color:#fff;text-decoration:none}

@media(max-width:820px){
  .kc-network-main,.kc-network-header,.kc-portal-footer{--kc-network-h1:clamp(2.5rem,5.4vw,2.75rem);--kc-network-h2:clamp(1.75rem,3.8vw,2rem);--kc-network-h3:clamp(1.25rem,2.7vw,1.375rem);--kc-network-body:1rem;--kc-network-note:.875rem}
  .kc-network-hero{background:#fff3ed}.kc-network-hero__copy{padding:4rem 1.4rem 3rem}.kc-network-hero__media{margin:0 1.4rem 2rem;border-radius:2.5rem .8rem}.kc-network-hero__media img{object-position:50% 30%}.kc-network-hero__media::after{inset:1.2rem;border-radius:1.8rem .5rem}
  .kc-network-benefits{grid-template-columns:repeat(2,minmax(0,1fr))}.kc-directory-page{background:linear-gradient(180deg,#fff1ed 0 25rem,#fffdf9 25rem)}
}
@media(max-width:600px){
  .kc-network-main,.kc-network-header,.kc-portal-footer{--kc-network-h1:clamp(1.875rem,8vw,2.125rem);--kc-network-h2:clamp(1.5rem,6.8vw,1.75rem);--kc-network-h3:clamp(1.125rem,5vw,1.25rem);--kc-network-body:clamp(.9375rem,4vw,1rem);--kc-network-note:clamp(.8125rem,3.6vw,.875rem)}
  .kc-network-mobile-nav[open]{inset-inline:0;grid-column:1/-1;width:100%;box-sizing:border-box}.kc-network-mobile-nav[open] summary{justify-content:flex-end}.kc-network-mobile-nav[open] nav{width:100%}
  .kc-network-hero__copy h1{line-height:1.45}.kc-network-hero__note{line-height:2}.kc-network-hero__media{min-height:22rem}.kc-network-section{padding:3.5rem 1.2rem}.kc-network-section--dark{padding-block:3.5rem}.kc-network-steps>.wp-block-column{min-height:0}.kc-network-steps p{margin-top:.5rem}.kc-quick-chips{display:grid;grid-template-columns:1fr 1fr}.kc-quick-chips a{min-width:0;min-height:3rem;padding:.55rem .7rem;line-height:1.45}
  .kc-directory-search input,.kc-directory-search select,.kc-directory-search button{min-height:3rem}.kc-directory-search button{min-height:3.25rem}.kc-network-benefits{grid-template-columns:1fr}.kc-network-benefits>.wp-block-column{padding:1.25rem}.kc-directory-page{padding-top:0!important;background:linear-gradient(180deg,#fff1ed 0 29rem,#fffdf9 29rem)}.kc-directory-page__intro{padding-top:3rem}.kc-directory-page__intro h1{line-height:1.45}.kc-directory-page>.kc-directory-search{margin-top:-.75rem;margin-bottom:3rem}.kc-academy-card__body{padding:1.25rem}
}

/* Academy-owned page chrome; the network identity lives in the footer. */
.kc-hero h1 span{display:inline-block;max-width:100%}
@media(max-width:600px){.kc-academy-site .kc-lp .kc-hero__media{aspect-ratio:4/3;min-height:0;max-height:19rem}.kc-academy-site .kc-lp .kc-hero__panel{padding:1.5rem 1.2rem 2.5rem}.kc-academy-site .kc-lp .kc-hero__media img{object-position:50% 25%}}
.kc-preview-bar{display:flex;align-items:center;flex-wrap:wrap;gap:.6rem 1rem;padding:.65rem 1rem;background:#252c35;color:#fff;font: .8rem/1.6 sans-serif}.kc-preview-bar a{color:#fff}.kc-preview-bar span{flex:1}
@media(min-width:901px){.kc-template-modern .kc-hero .kc-kicker{color:#f3f1ed}}
.kc-lp .kc-hero h1{font-size:clamp(2.2rem,4.1vw,4.6rem);line-height:1.4;letter-spacing:.035em;overflow-wrap:break-word;word-break:normal;line-break:strict;text-wrap:pretty;max-width:16em;margin-block:1rem 1.3rem}
.kc-lp .kc-hero__academy{font-size:1rem;letter-spacing:.08em}
.kc-lp .kc-hero__copy{font-size:clamp(.95rem,1.2vw,1.1rem);line-height:2;max-width:34em}
.kc-hero-label{display:inline-block;margin:.8rem 0 0;padding:.3rem .8rem;border:1px solid currentColor;font-size:.8rem;letter-spacing:.1em}
.kc-voices{background:var(--kc-washi)}.kc-voices-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem;margin-top:2rem}
@media(min-width:601px){.kc-voices-grid:has(>.kc-voice-card:nth-child(2):last-child){grid-template-columns:repeat(2,minmax(0,1fr))}}
.kc-voice-card{display:flex;flex-direction:column;min-width:0;margin:0;padding:2rem;background:var(--kc-paper);border-top:2px solid var(--kc-accent);overflow-wrap:anywhere}
.kc-voice-mark{color:var(--kc-accent);font:3.5rem/1 serif;height:2rem}.kc-voice-card blockquote{margin:1rem 0 2rem;font-size:1rem;line-height:2}
.kc-voice-card figcaption{display:grid;gap:.3rem;margin-top:auto;padding-top:1rem;border-top:1px solid var(--kc-border)}.kc-voice-card figcaption span{color:var(--kc-muted);font-size:.8rem}
.kc-template-warm .kc-voice-card{border-top:0;border-radius:1.5rem}.kc-template-modern .kc-voice-card{border-top:0;border-left:3px solid var(--kc-accent)}
.kc-access{background:var(--kc-paper)}.kc-access-layout{display:grid;gap:3rem;margin-top:2rem;align-items:center}.kc-access-layout.has-media{grid-template-columns:1fr 1fr}.kc-access-layout.text-only{max-width:52rem}
.kc-access-media{min-width:0;background:var(--kc-washi);overflow:hidden}.kc-access-media img{width:100%;height:auto;display:block}.kc-access-media iframe{display:block;width:100%;height:380px;border:0}
.kc-map-consent{padding:3rem 1.5rem;text-align:center}.kc-access-copy{min-width:0;overflow-wrap:anywhere}.kc-access-copy h3{font-size:1.4rem;margin:0 0 .6rem}.kc-access-region{color:var(--kc-muted)}
.kc-access-copy dl{margin:1.5rem 0}.kc-access-copy dl>div{display:grid;grid-template-columns:6rem 1fr;gap:1rem;padding:.9rem 0;border-bottom:1px solid var(--kc-border)}.kc-access-copy dd{margin:0}.kc-access-copy dt{font-size:.85rem;color:var(--kc-muted)}
.kc-access-directions{line-height:2}.kc-access-note{padding:1rem 1.2rem;background:var(--kc-washi);font-size:.85rem;line-height:1.9}
@media(min-width:901px){.kc-template-modern .kc-hero__panel{width:min(64%,48rem)}.kc-template-elegant .kc-hero__content{position:relative;inset:auto;grid-column:1;grid-row:1;width:100%;padding:3rem clamp(1.5rem,3vw,3rem)}.kc-template-elegant .kc-hero__media{grid-row:1}.kc-template-elegant .kc-hero__panel{width:100%;padding:0}.kc-template-elegant .kc-hero h1,.kc-template-warm .kc-hero h1{font-size:clamp(2rem,3.2vw,3.3rem)}}
@media(max-width:900px){.kc-voices-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.kc-access-layout.has-media{grid-template-columns:1fr}}
@media(max-width:600px){.kc-voices-grid{grid-template-columns:1fr;gap:1rem}.kc-voice-card{padding:1.5rem}.kc-lp .kc-hero h1{font-size:clamp(1.8rem,7.5vw,2.25rem);line-height:1.5;letter-spacing:.02em}.kc-lp .kc-hero__academy{font-size:.9rem}.kc-access-layout{gap:1.5rem}.kc-access-copy dl>div{grid-template-columns:4.5rem 1fr}}
.kc-academy-site { color:var(--kc-ink); background:var(--kc-paper); }
.kc-academy-header { position:relative; z-index:30; display:flex; align-items:center; justify-content:space-between; gap:2rem; padding:1.4rem clamp(1.2rem,3vw,3rem); border-bottom:1px solid var(--kc-border); background:var(--kc-paper); }
.kc-academy-brand { flex:0 1 25rem; min-width:0; color:var(--kc-ink); font-size:clamp(1.15rem,1.6vw,1.6rem); font-weight:600; line-height:1.5; letter-spacing:.06em; text-decoration:none; overflow-wrap:anywhere; }
.kc-academy-menu { display:flex; align-items:center; gap:clamp(.4rem,1.2vw,1.2rem); margin:0; padding:0; list-style:none; }
.kc-academy-menu a { display:flex; align-items:center; justify-content:center; min-height:44px; padding:.55rem .25rem; color:var(--kc-ink); font-size:.88rem; line-height:1.5; text-decoration:none; white-space:nowrap; }
.kc-academy-menu li:last-child a { padding:.7rem 1rem; color:#fff; background:var(--kc-accent); }
.kc-academy-menu a:hover { text-decoration:underline; text-underline-offset:.4em; }
.kc-academy-mobile-nav { display:none; }
.kc-academy-site :is(a,summary):focus-visible { outline:3px solid var(--kc-accent); outline-offset:4px; }
.kc-academy-site section[id] { scroll-margin-top:1rem; }
.kc-academy-skip { position:absolute; top:0; left:1rem; z-index:50; transform:translateY(-150%); padding:.6rem 1rem; background:var(--kc-paper); color:var(--kc-ink); }
.kc-academy-skip:focus { transform:none; }
.kc-academy-site.kc-template-warm .kc-section--message { display:block; }
.kc-template-warm .kc-academy-menu li:last-child a { border-radius:999px; }
.kc-template-modern .kc-academy-brand { font-family:sans-serif; letter-spacing:.015em; }
.kc-network-footer { padding:4.5rem clamp(1.2rem,5vw,5rem) 1.5rem; color:#f7f4ee; background:#252c35; }
.kc-network-footer__inner { display:grid; grid-template-columns:1.2fr 1fr; gap:3rem; max-width:80rem; margin:auto; }
.kc-network-name { margin:0 0 .6rem; font:600 clamp(1.5rem,3vw,2.2rem)/1.4 sans-serif; letter-spacing:.16em; }
.kc-network-tagline { margin:0; font-size:1rem; }
.kc-network-note { max-width:34rem; margin:1.4rem 0 0; font-size:.9rem; line-height:1.9; color:#c9cdd3; overflow-wrap:anywhere; }
.kc-network-footer ul { display:grid; grid-template-columns:1fr 1fr; gap:.6rem 1.2rem; list-style:none; margin:0; padding:0; }
.kc-network-footer li :is(a,span) { display:flex; flex-wrap:wrap; align-items:center; gap:.5rem; min-height:44px; color:inherit; font-size:.9rem; text-decoration:none; }
.kc-network-footer small { padding:.1rem .4rem; border:1px solid #707b89; color:#c9cdd3; font-size:.7rem; }
.kc-network-footer a:hover { text-decoration:underline; }
.kc-network-copyright { max-width:80rem; margin:3rem auto 0; padding-top:1.3rem; border-top:1px solid #46505c; font: .75rem/1.6 sans-serif; color:#c9cdd3; }
@media(max-width:1100px) {
  .kc-academy-header { gap:1rem; padding:1rem 1.2rem; }
  .kc-academy-brand { flex:1; font-size:1.15rem; }
  .kc-academy-desktop-nav { display:none; }
  .kc-academy-mobile-nav { display:block; flex:0 0 auto; }
  .kc-academy-mobile-nav summary { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:.35rem; min-width:60px; min-height:52px; color:var(--kc-ink); cursor:pointer; list-style:none; font: .75rem/1.3 sans-serif; }
  .kc-academy-mobile-nav summary::-webkit-details-marker { display:none; }
  .kc-menu-icon { position:relative; width:24px; height:14px; border-top:2px solid currentColor; border-bottom:2px solid currentColor; }
  .kc-academy-mobile-nav[open] .kc-menu-icon { height:2px; border-bottom:0; transform:rotate(-45deg); }
  .kc-academy-mobile-nav[open] .kc-menu-icon::after { content:""; position:absolute; top:-2px; left:0; width:24px; border-top:2px solid currentColor; transform:rotate(90deg); }
  .kc-academy-mobile-nav nav { position:absolute; top:100%; left:0; right:0; max-height:70dvh; overflow-y:auto; padding:.75rem 1.2rem 1.2rem; background:var(--kc-paper); border-bottom:1px solid var(--kc-border); box-shadow:0 1rem 1.5rem #0002; }
  .kc-academy-mobile-nav .kc-academy-menu { display:grid; gap:0; }
  .kc-academy-mobile-nav .kc-academy-menu a { justify-content:flex-start; min-height:48px; padding:.75rem .5rem; font-size:1rem; border-bottom:1px solid var(--kc-border); white-space:normal; }
  .kc-academy-mobile-nav .kc-academy-menu li:last-child a { justify-content:center; margin-top:.7rem; }
}
@media(max-width:600px) {
  .kc-network-footer { padding-top:3rem; }
  .kc-network-footer__inner { grid-template-columns:minmax(0,1fr); gap:2rem; }
  .kc-network-footer ul { grid-template-columns:1fr; }
}
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } }

/* Keep template-specific desktop grids within the mobile viewport. */
@media (max-width: 600px) {
  .kc-template-elegant .kc-hero__media { min-height: 0; }
  .kc-template-warm .kc-hero__content { padding: 0; }
  .kc-template-elegant .kc-split--teacher,
  .kc-template-warm .kc-split--teacher,
  .kc-template-modern .kc-split--teacher { grid-template-columns: minmax(0, 1fr); }
  .kc-split--teacher > * { min-width: 0; }
  .kc-template-modern .kc-photo--portrait { min-height: 0; aspect-ratio: 4 / 5; }
  .kc-template-modern .kc-gallery { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .kc-hero__panel { min-width: 0; overflow-wrap: anywhere; }
  .kc-template-elegant .kc-hero h1,
  .kc-template-warm .kc-hero h1,
  .kc-template-modern .kc-hero h1 { font-size: clamp(1.75rem, 8vw, 2.2rem); }
}

/* Final cascade guard for the 0.8.2 editorial portal preview. */
.kc-network-header{position:sticky;top:0;min-height:5rem;padding:.55rem max(1.2rem,calc((100vw - 1200px)/2));background:rgba(255,253,249,.96);backdrop-filter:blur(14px);box-shadow:0 1px 0 rgba(61,61,82,.1)}
.kc-network-header>p{display:contents}.kc-network-header__cta{min-height:2.75rem;border-radius:.15rem;background:#b53f59;box-shadow:none}.kc-network-header__cta:hover,.kc-network-header__cta:focus-visible{background:#8e2f45}
.kc-network-brand{font-family:"Yu Mincho","Hiragino Mincho ProN",serif}.kc-network-brand small{display:inline;margin-left:1rem;font-size:.66rem}
.kc-editorial-home .kc-network-hero{min-height:38rem;grid-template-columns:1fr 1.05fr;background:#fffdf9}.kc-editorial-home .kc-network-hero::before{display:none}.kc-editorial-home .kc-network-hero__copy{padding:5.5rem 3.75rem 3.5rem max(2rem,calc((100vw - 1200px)/2))}.kc-editorial-home .kc-network-hero__copy h1{font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-size:clamp(3.25rem,4.2vw,3.8rem);font-weight:500;line-height:1.48;letter-spacing:.08em}.kc-editorial-home .kc-network-hero__media{min-height:38rem;margin:0 max(1.8rem,calc((100vw - 1200px)/2)) 0 0;border-radius:0}.kc-editorial-home .kc-network-hero__media::after{display:none}
.kc-editorial-home .kc-network-section{padding-block:clamp(4.5rem,7vw,6.5rem)}.kc-editorial-home .kc-network-section h2{font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-weight:500}.kc-editorial-home .kc-network-search-section{margin-top:1.5rem;border:1px solid #eadfd8;background:linear-gradient(100deg,#fffdf9,#fbf3ee)}.kc-editorial-home .kc-directory-search{border-radius:.2rem;background:#fff;box-shadow:none}.kc-editorial-home .kc-directory-search button,.kc-editorial-home .kc-network-actions .wp-block-button__link{border-radius:.15rem;background:#b53f59;box-shadow:none}
.kc-editorial-home .kc-network-section--tint{background:#fbf3ee}.kc-editorial-home .kc-network-section--dark{background:#fffdf9;color:#34323a}.kc-editorial-home .kc-network-section--dark h2,.kc-editorial-home .kc-network-section--dark h3{color:#34323a}.kc-editorial-home .kc-network-section--dark p{color:#68646a}.kc-editorial-home .kc-network-steps>.wp-block-column{border:1px solid #e7dcd4;border-radius:.2rem;background:#fff}.kc-editorial-home .kc-network-feature-grid>.wp-block-column,.kc-editorial-home .kc-network-simple-grid>.wp-block-column,.kc-editorial-home .kc-academy-card{border-radius:.2rem;box-shadow:none}
@media(max-width:820px){.kc-editorial-home .kc-network-hero{grid-template-columns:1fr;min-height:auto}.kc-editorial-home .kc-network-hero__copy{padding:4.5rem 2rem 3.5rem}.kc-editorial-home .kc-network-hero__media{min-height:32rem;margin:0 2rem 2rem}}
@media(max-width:600px){.kc-network-header{min-height:4.5rem;padding:.55rem 1rem}.kc-network-brand small{display:none}.kc-editorial-home .kc-network-hero__copy{padding:3.5rem 1.2rem 2.75rem}.kc-editorial-home .kc-network-hero__copy h1{font-size:clamp(2rem,9vw,2.25rem)}.kc-editorial-home .kc-network-hero__media{min-height:0;aspect-ratio:4/4.25;margin:0}.kc-editorial-home .kc-network-section{padding-block:3.75rem}}

.kc-editorial-home>.kc-network-hero{order:1}.kc-editorial-home>.kc-network-search-section{order:2}.kc-editorial-home>.kc-network-section:has(.kc-network-section-head){order:3}.kc-editorial-home>.kc-network-section:has(>.kc-network-simple-grid){order:4}.kc-editorial-home>#lesson-styles{order:5}.kc-editorial-home>#how-to-start{order:6}.kc-editorial-home>.kc-network-section:has(>.kc-network-faq){order:7}.kc-editorial-home>.kc-network-mid-cta{order:8}.kc-editorial-home>.kc-network-teacher-cta{order:9}
.kc-editorial-home>.kc-network-teacher-choice,.kc-editorial-home>.kc-network-section:has(>.kc-region-links){display:none}
.kc-editorial-home>.kc-network-section:has(.kc-network-section-head){display:grid;grid-template-columns:15rem minmax(0,1fr);gap:2rem;max-width:1200px;margin:auto}.kc-editorial-home>.kc-network-section:has(.kc-network-section-head) .kc-network-section-head{display:block!important}.kc-editorial-home>.kc-network-section:has(.kc-network-section-head) .kc-academy-card{display:grid;grid-template-columns:minmax(14rem,1fr) 1.7fr;position:relative}.kc-editorial-home>.kc-network-section:has(.kc-network-section-head) .kc-academy-card:first-child::before{content:"制作見本";position:absolute;z-index:2;padding:.65rem 1.4rem;background:#b53f59;color:#fff;font-size:.72rem;letter-spacing:.08em}.kc-editorial-home>.kc-network-section:has(.kc-network-section-head) .kc-academy-card__media{min-height:16rem;border-radius:0}.kc-editorial-home>.kc-network-section:has(.kc-network-section-head) .kc-academy-card__body{padding:2rem}
.kc-editorial-home>#how-to-start{background:#fffdf9;color:#34323a}.kc-editorial-home>#how-to-start h2,.kc-editorial-home>#how-to-start h3{color:#34323a}.kc-editorial-home>#how-to-start p{color:#68646a}
@media(max-width:1080px){.kc-editorial-home>.kc-network-section:has(.kc-network-section-head){grid-template-columns:1fr}.kc-editorial-home>.kc-network-section:has(.kc-network-section-head) .kc-network-section-head{display:flex!important}}
@media(max-width:820px){.kc-editorial-home>.kc-network-section:has(.kc-network-section-head) .kc-academy-card{grid-template-columns:1fr}}
@media(max-width:600px){.kc-editorial-home>.kc-network-section:has(.kc-network-section-head) .kc-network-section-head{display:block!important}.kc-editorial-home>.kc-network-section:has(.kc-network-section-head) .kc-academy-card__media{min-height:17rem}}
@media(max-width:1080px){.kc-network-header{grid-auto-flow:row dense}}
@media(max-width:820px){.kc-editorial-home .kc-network-hero__media{grid-column:1;width:auto}}
.kc-editorial-home>#lesson-styles{display:block!important;max-width:1200px;margin:0 auto}.kc-editorial-home>#lesson-styles .kc-network-feature-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));width:100%;margin-top:2rem}.kc-editorial-home>.kc-network-section:has(.kc-network-section-head) .kc-academy-cards{grid-template-columns:1fr}.kc-editorial-home>.kc-network-section:has(.kc-network-faq){display:block!important}.kc-editorial-home>.kc-network-section:has(.kc-network-faq) .kc-network-faq{max-width:none;margin-top:2rem}
@media(max-width:600px){.kc-editorial-home>#lesson-styles .kc-network-feature-grid{grid-template-columns:1fr}}
.kc-editorial-home>.kc-network-student-cta{order:8;max-width:1200px;margin:0 auto;background:#fbf3ee;text-align:center}.kc-editorial-home>.kc-network-teacher-cta{order:9;max-width:1200px;margin:0 auto;background:#eff5ed}.kc-editorial-home>.kc-network-student-cta .wp-block-buttons{justify-content:center}.kc-editorial-home>.kc-network-student-cta .wp-block-button__link{border-radius:.15rem;background:#b53f59;box-shadow:none}

/* 0.8.2 editorial QA closeout: balanced density, responsive cards and WP-native icons. */
@media (min-width:821px) {
  .kc-editorial-home .kc-network-hero { min-height:35rem; grid-template-columns:minmax(0,1.02fr) minmax(0,.98fr); }
  .kc-editorial-home .kc-network-hero__copy { width:auto; max-width:none; margin:0; padding:4.5rem 2.5rem 3.5rem max(2.5rem,calc((100vw - 1200px)/2)); }
  .kc-editorial-home .kc-network-hero__copy h1 { max-width:38rem; margin-inline:0; font-size:clamp(3rem,3.75vw,3.45rem); line-height:1.42; letter-spacing:.045em; }
  .kc-editorial-home .kc-network-hero__media { min-height:35rem; }
  .kc-editorial-home .kc-network-section { padding-block:clamp(2.75rem,3.8vw,3.75rem); }
  .kc-editorial-home>.kc-network-section:has(.kc-network-section-head) { grid-template-columns:13rem minmax(0,1fr); gap:2.25rem; }
  .kc-editorial-home>.kc-network-section:has(.kc-network-section-head) .kc-academy-cards { width:100%; }
  .kc-editorial-home>.kc-network-section:has(.kc-network-section-head) .kc-academy-card { width:100%; grid-template-columns:minmax(17rem,42%) minmax(0,1fr); }
  .kc-editorial-home>.kc-network-section:has(.kc-network-section-head) .kc-academy-card__media { min-height:18rem; }
  .kc-network-final-ctas { order:8; display:grid; grid-template-columns:1fr 1fr; width:min(100%,1200px); margin:0 auto; }
  .kc-network-final-ctas>.kc-network-section { width:100%; max-width:none; margin:0; padding:3.25rem clamp(2rem,4vw,3.5rem); }
  .kc-network-final-ctas>.kc-network-student-cta { text-align:left; background:#fbf3ee; }
  .kc-network-final-ctas>.kc-network-teacher-cta { background:#eff5ed; }
  .kc-network-final-ctas .wp-block-buttons { justify-content:flex-start; }
  .kc-editorial-home>.kc-network-section:has(>.kc-network-faq) { display:grid!important; grid-template-columns:14rem minmax(0,1fr); column-gap:3rem; align-items:start; }
  .kc-editorial-home>.kc-network-section:has(>.kc-network-faq)>.kc-network-faq { grid-column:2; grid-row:1/span 3; margin-top:0; }
  .kc-editorial-home :is(.kc-network-simple-grid,.kc-network-feature-grid,.kc-network-steps) { margin-top:1.75rem!important; }
}

/* 0.9.0 final responsive heading and academy-card safeguards. */
@media (min-width:601px) and (max-width:1100px) {
  .kc-editorial-home>.kc-network-section:has(.kc-network-section-head) {
    grid-template-columns:1fr!important;
    gap:1.5rem!important;
  }
  .kc-editorial-home>.kc-network-section:has(.kc-network-section-head) .kc-network-section-head {
    display:flex!important;
    width:100%;
    align-items:flex-end!important;
  }
  .kc-editorial-home :is(.kc-network-teacher-choice,#how-to-start,.kc-network-about)>h2 {
    max-width:100%;
    font-size:clamp(2rem,4.5vw,2.55rem)!important;
    line-height:1.5;
    letter-spacing:.025em;
    text-wrap:balance;
  }
  .kc-editorial-home .kc-network-teacher-choice>.kc-network-lead,
  .kc-editorial-home .kc-network-about>.kc-network-lead { max-width:48rem; }
}

@media (min-width:821px) and (max-width:1100px) {
  .kc-editorial-home>.kc-network-section:has(.kc-network-section-head) .kc-academy-card {
    grid-template-columns:minmax(17rem,.9fr) minmax(0,1.1fr)!important;
    width:100%;
  }
  .kc-editorial-home>.kc-network-section:has(.kc-network-section-head) .kc-academy-card__media {
    grid-column:1!important;
    grid-row:1!important;
    min-height:18rem;
  }
  .kc-editorial-home>.kc-network-section:has(.kc-network-section-head) .kc-academy-card__body {
    grid-column:2!important;
    grid-row:1!important;
  }
}

@media (max-width:600px) {
  .kc-editorial-home :is(.kc-network-teacher-choice,#how-to-start,.kc-network-about)>h2 {
    max-width:21rem;
    margin-inline:0;
    font-size:clamp(1.75rem,7.6vw,1.95rem)!important;
    line-height:1.55;
    letter-spacing:.015em;
    text-wrap:balance;
  }
  .kc-editorial-home .kc-network-about { text-align:left; }
  .kc-editorial-home .kc-network-about>.kc-network-eyebrow { justify-content:flex-start; }
  .kc-editorial-home>.kc-network-section:has(.kc-network-section-head) {
    display:block!important;
  }
  .kc-editorial-home>.kc-network-section:has(.kc-network-section-head) .kc-network-section-head {
    display:block!important;
    width:100%;
    margin-bottom:1.25rem;
  }
  .kc-editorial-home>.kc-network-section:has(.kc-network-section-head) .kc-network-section-head h2 {
    max-width:none;
    font-size:clamp(1.75rem,8vw,2rem)!important;
  }
  .kc-editorial-home>.kc-network-section:has(.kc-network-section-head) .kc-academy-cards {
    width:100%;
    margin-top:1rem;
  }
}

/* 0.8.8 mobile and tablet TOP-page refinement. */
@media (min-width:701px) and (max-width:820px) {
  .kc-network-header { min-height:4.75rem; padding-inline:1.5rem; }
  .kc-editorial-home .kc-network-hero {
    grid-template-columns:minmax(0,1fr) minmax(0,.92fr);
    min-height:34rem;
    align-items:stretch;
  }
  .kc-editorial-home .kc-network-hero__copy {
    grid-column:1;
    padding:3.5rem 2rem 3rem;
  }
  .kc-editorial-home .kc-network-hero__copy h1 {
    max-width:none;
    margin-bottom:1.25rem;
    font-size:2.15rem!important;
    line-height:1.42;
  }
  .kc-editorial-home .kc-network-hero__lead { font-size:.96rem; line-height:1.85; }
  .kc-editorial-home .kc-network-hero__media {
    grid-column:2;
    min-height:34rem;
    margin:0;
  }
  .kc-editorial-home .kc-network-hero__media img { object-position:60% 38%; }
  .kc-editorial-home .kc-network-hero__trust { display:grid!important; grid-template-columns:1fr; gap:.55rem!important; }
  .kc-editorial-home .kc-network-section { padding:4.25rem 2rem; }
  .kc-editorial-home .kc-network-search-section { margin:0; }
  .kc-editorial-home .kc-quick-chips { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.65rem; }
  .kc-editorial-home .kc-quick-chips a { display:grid; min-height:3rem; place-items:center; text-align:center; }
  .kc-editorial-home .kc-directory-search { grid-template-columns:repeat(2,minmax(0,1fr)); gap:.85rem; }
  .kc-editorial-home>#lesson-styles .kc-network-feature-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:.75rem!important; }
  .kc-editorial-home>#lesson-styles .kc-network-feature-grid>.wp-block-column { padding:1.5rem 1.15rem; }
  .kc-editorial-home>.kc-network-section:has(.kc-network-section-head) .kc-academy-card {
    grid-template-columns:minmax(15rem,.9fr) minmax(0,1.1fr);
  }
  .kc-editorial-home>.kc-network-section:has(.kc-network-section-head) .kc-academy-card__media,
  .kc-editorial-home>.kc-network-section:has(.kc-network-section-head) .kc-academy-card__body { grid-row:1; }
  .kc-editorial-home>.kc-network-section:has(.kc-network-section-head) .kc-academy-card__media { grid-column:1; min-height:100%; }
  .kc-editorial-home>.kc-network-section:has(.kc-network-section-head) .kc-academy-card__body { grid-column:2; }
  .kc-editorial-home .kc-network-steps { display:grid!important; grid-template-columns:repeat(3,minmax(0,1fr)); }
  .kc-editorial-home .kc-network-steps>.wp-block-column { min-height:13rem; padding:1.5rem 1.15rem; }
  .kc-network-final-ctas>.kc-network-section { padding:3.5rem 2rem; }
  .kc-portal-footer { padding-inline:2rem; }
}

@media (min-width:601px) and (max-width:700px) {
  .kc-editorial-home .kc-network-hero { grid-template-columns:1fr; min-height:auto; }
  .kc-editorial-home .kc-network-hero__copy { padding:3.5rem 2rem 3rem; }
  .kc-editorial-home .kc-network-hero__copy h1 { max-width:28rem; font-size:2.6rem; }
  .kc-editorial-home .kc-network-hero__media { min-height:0; aspect-ratio:16/10; margin:0; }
  .kc-editorial-home .kc-network-hero__media img { object-position:50% 32%; }
  .kc-editorial-home .kc-network-section { padding:4rem 2rem; }
  .kc-editorial-home .kc-quick-chips { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); }
}

@media (max-width:600px) {
  .kc-network-header { min-height:4.25rem; padding:.5rem 1rem; }
  .kc-network-brand { max-width:calc(100vw - 5.5rem); overflow:hidden; font-size:.86rem; text-overflow:ellipsis; }
  .kc-network-mobile-nav summary { width:48px; min-width:48px; height:48px; min-height:48px; }
  .kc-network-mobile-nav[open] { max-height:calc(100dvh - 4.25rem); overflow-y:auto; padding:0 1rem 1rem; }
  .kc-network-mobile-nav a { display:flex; min-height:48px; align-items:center; padding:.7rem .25rem; }
  .kc-editorial-home .kc-network-hero { display:flex!important; flex-direction:column; }
  .kc-editorial-home .kc-network-hero__copy { padding:2.75rem 1.25rem 2.25rem; }
  .kc-editorial-home .kc-network-hero__copy h1 {
    max-width:20rem;
    margin:.35rem 0 1.1rem;
    font-size:clamp(1.95rem,9vw,2.25rem);
    line-height:1.42;
    letter-spacing:.025em;
  }
  .kc-editorial-home .kc-network-hero__lead { font-size:.96rem; line-height:1.85; }
  .kc-editorial-home .kc-network-actions { margin-top:1.5rem; }
  .kc-editorial-home .kc-network-actions .wp-block-button__link { min-height:52px; }
  .kc-editorial-home .kc-network-hero__trust { grid-template-columns:1fr; gap:.5rem!important; margin-top:1.4rem!important; }
  .kc-editorial-home .kc-network-hero__trust p { margin:0; font-size:.82rem; }
  .kc-editorial-home .kc-network-hero__media { order:2; width:100%; aspect-ratio:4/3; margin:0; }
  .kc-editorial-home .kc-network-hero__media img { object-position:58% 34%; }
  .kc-editorial-home .kc-network-section { padding:3.25rem 1.15rem; }
  .kc-editorial-home .kc-network-section h2 { font-size:clamp(1.75rem,8vw,2.1rem); line-height:1.5; }
  .kc-editorial-home .kc-network-search-section { margin:0; padding-top:3rem; }
  .kc-editorial-home .kc-quick-chips { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.55rem; margin:1.15rem 0; }
  .kc-editorial-home .kc-quick-chips a { display:grid; min-height:48px; place-items:center; padding:.6rem .45rem; text-align:center; }
  .kc-editorial-home .kc-directory-search { gap:.8rem; margin-top:1.25rem; padding:1rem; }
  .kc-editorial-home .kc-directory-search input,
  .kc-editorial-home .kc-directory-search select { min-height:50px; font-size:16px; }
  .kc-editorial-home .kc-directory-search button { min-height:52px; }
  .kc-editorial-home>#lesson-styles .kc-network-feature-grid { gap:.65rem!important; margin-top:1.25rem!important; }
  .kc-editorial-home>#lesson-styles .kc-network-feature-grid>.wp-block-column { padding:1.35rem 1.2rem; }
  .kc-editorial-home>#lesson-styles .kc-network-feature-grid h3 { margin:.35rem 0 .45rem; }
  .kc-editorial-home>.kc-network-section:has(.kc-network-section-head) { gap:1.25rem; }
  .kc-editorial-home>.kc-network-section:has(.kc-network-section-head) .kc-network-section-head { margin-bottom:.5rem; }
  .kc-editorial-home>.kc-network-section:has(.kc-network-section-head) .kc-academy-card__media { aspect-ratio:4/3; min-height:0; }
  .kc-editorial-home>.kc-network-section:has(.kc-network-section-head) .kc-academy-card__body { padding:1.35rem 1.2rem; }
  .kc-editorial-home .kc-network-steps { gap:.65rem!important; margin-top:1.25rem!important; }
  .kc-editorial-home .kc-network-steps>.wp-block-column { padding:1.35rem 1.2rem; }
  .kc-editorial-home>.kc-network-section:has(>.kc-network-faq) .kc-network-faq { margin-top:1.25rem; }
  .kc-editorial-home .kc-network-faq details { padding:0; }
  .kc-editorial-home .kc-network-faq summary { display:flex; min-height:56px; align-items:center; padding:.85rem .2rem; line-height:1.65; }
  .kc-network-final-ctas>.kc-network-section { min-height:0; padding:3rem 1.2rem; }
  .kc-network-final-ctas>.kc-network-section>h2,
  .kc-network-final-ctas>.kc-network-section>p { min-height:0; }
  .kc-network-final-ctas .wp-block-button,
  .kc-network-final-ctas .wp-block-button__link { width:100%; }
  .kc-network-mobile-cta { left:1rem; right:1rem; min-height:52px; border-radius:.15rem; }
  .kc-portal-footer { padding:3.25rem 1.2rem 6.5rem; }
  .kc-portal-footer__inner { gap:2rem; }
  .kc-portal-footer nav ul { grid-template-columns:1fr 1fr; gap:.5rem 1rem; }
  .kc-portal-footer nav a { display:flex; min-height:44px; align-items:center; }
}

@media (max-width:360px) {
  .kc-editorial-home .kc-quick-chips { grid-template-columns:1fr; }
  .kc-editorial-home .kc-network-hero__copy h1 { font-size:1.85rem; }
  .kc-portal-footer nav ul { grid-template-columns:1fr; }
}

/* 0.8.9 full-width TOP follows the compact mobile rhythm. */
@media (min-width:1101px) {
  .kc-editorial-home .kc-network-hero {
    width:min(100%,1440px);
    min-height:34rem;
    margin-inline:auto;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  }
  .kc-editorial-home .kc-network-hero__copy {
    padding:4rem clamp(3rem,5vw,5rem) 3.5rem max(2rem,calc((100vw - 1200px)/2));
  }
  .kc-editorial-home .kc-network-hero__copy h1 {
    max-width:34rem;
    margin-bottom:1.25rem;
    font-size:clamp(3rem,3.8vw,3.45rem);
    line-height:1.38;
  }
  .kc-editorial-home .kc-network-hero__lead { max-width:34rem; line-height:1.9; }
  .kc-editorial-home .kc-network-hero__media { min-height:34rem; margin-right:0; }
  .kc-editorial-home .kc-network-hero__media img { object-position:54% 36%; }
  .kc-editorial-home .kc-network-hero__trust { display:grid!important; grid-template-columns:repeat(3,max-content); gap:1.25rem!important; }
  .kc-editorial-home .kc-network-search-section { margin-top:0; padding-block:4rem; }
  .kc-editorial-home .kc-network-search-section>h2 { font-size:2.45rem; }
  .kc-editorial-home .kc-quick-chips { margin-block:1rem 1.5rem; }
  .kc-editorial-home .kc-directory-search { margin-top:1.5rem; padding:1.25rem; }
  .kc-editorial-home .kc-network-section { padding-block:3.75rem; }
  .kc-editorial-home>#lesson-styles .kc-network-feature-grid { margin-top:1.5rem; }
  .kc-editorial-home>.kc-network-section:has(.kc-network-section-head) { gap:2.5rem; }
  .kc-editorial-home>.kc-network-section:has(.kc-network-section-head) .kc-academy-card__media { min-height:17rem; }
  .kc-editorial-home>.kc-network-section:has(>.kc-network-faq) { padding-block:4rem; }
  .kc-network-final-ctas>.kc-network-section { min-height:24rem!important; padding-block:3.75rem; }
  .kc-network-final-ctas>.kc-network-section>h2 { min-height:auto; }
  .kc-network-final-ctas>.kc-network-section>p:not(.kc-network-eyebrow):not(.kc-network-teacher-cta__label) { min-height:auto; }
}
.kc-network-final-ctas>.kc-network-section { box-sizing:border-box; }
.kc-editorial-home :is(.kc-network-simple-grid,.kc-network-feature-grid,.kc-network-steps) h3 { position:relative; padding-left:2.8rem; }
.kc-editorial-home :is(.kc-network-simple-grid,.kc-network-feature-grid,.kc-network-steps) h3::before,
.kc-editorial-home .kc-network-hero__trust p::before { display:inline-grid; place-items:center; color:#8e2f45; font:normal 1.55rem/1 dashicons; }
.kc-editorial-home :is(.kc-network-simple-grid,.kc-network-feature-grid) h3::before { content:"\f110"; position:absolute; left:0; top:.05em; }
.kc-editorial-home .kc-network-simple-grid>.wp-block-column:nth-child(1) h3::before { content:"\f332"; }
.kc-editorial-home .kc-network-simple-grid>.wp-block-column:nth-child(2) h3::before { content:"\f110"; }
.kc-editorial-home .kc-network-simple-grid>.wp-block-column:nth-child(3) h3::before { content:"\f230"; }
.kc-editorial-home .kc-network-feature-grid>.wp-block-column:nth-child(3) h3::before { content:"\f547"; }
.kc-editorial-home .kc-network-steps h3::before { content:"\f179"; position:absolute; left:0; top:.05em; }
.kc-editorial-home .kc-network-steps>.wp-block-column:nth-child(2) h3::before { content:"\f110"; }
.kc-editorial-home .kc-network-steps>.wp-block-column:nth-child(3) h3::before { content:"\f466"; }
.kc-editorial-home .kc-network-hero__trust p::before { content:"\f147"; margin-right:.45rem; vertical-align:-.16em; }
.kc-editorial-home>.kc-network-section:has(.kc-network-section-head) .kc-academy-card>p:empty { display:none; }
.kc-editorial-home>.kc-network-section:has(.kc-network-section-head) .kc-academy-card__media { grid-column:1; grid-row:1; }
.kc-editorial-home>.kc-network-section:has(.kc-network-section-head) .kc-academy-card__body { grid-column:2; grid-row:1; align-self:stretch; }
@media (max-width:1100px) {
  .kc-network-header { grid-auto-flow:column; grid-template-columns:minmax(0,1fr) auto; }
  .kc-network-mobile-nav summary { box-sizing:border-box; display:grid; place-items:center; width:48px; min-width:48px; height:48px; min-height:48px; padding:0; border:1px solid #ded4cd; border-radius:.15rem; font-size:0; line-height:0; }
  .kc-network-mobile-nav summary::before { content:"\f333"; color:#3d3d52; font:normal 1.65rem/1 dashicons; }
  .kc-network-mobile-nav summary>span:not(.screen-reader-text) { display:none; }
}
@media (min-width:821px) and (max-width:1100px) {
  .kc-editorial-home .kc-network-hero__copy h1 { max-width:100%; font-size:2.65rem; letter-spacing:.025em; }
}
@media (max-width:820px) {
  .kc-editorial-home .kc-network-section { padding-block:3.5rem; }
  .kc-editorial-home .kc-network-hero__copy { width:auto; max-width:none; margin:0; }
  .kc-network-final-ctas { order:8; display:grid; grid-template-columns:1fr; width:100%; }
  .kc-network-final-ctas>.kc-network-section { width:100%; max-width:none; margin:0; padding:3.25rem 2rem; }
  .kc-editorial-home>.kc-network-section:has(.kc-network-section-head) .kc-academy-card__media,
  .kc-editorial-home>.kc-network-section:has(.kc-network-section-head) .kc-academy-card__body { grid-column:1; grid-row:auto; }
  .kc-editorial-home .kc-network-hero__copy h1 { max-width:36rem; font-size:3rem; letter-spacing:.03em; }
}
@media (max-width:600px) {
  .kc-editorial-home .kc-network-section { padding-block:3rem; }
  .kc-editorial-home .kc-network-hero__copy h1 { max-width:21rem; font-size:2.15rem; line-height:1.42; letter-spacing:.035em; }
  .kc-network-final-ctas>.kc-network-section { padding:3rem 1.2rem; }
  .kc-editorial-home :is(.kc-network-simple-grid,.kc-network-feature-grid,.kc-network-steps) h3 { padding-left:2.4rem; }
}
@media (max-width:360px) {
  .kc-editorial-home .kc-network-hero__copy h1 { font-size:1.85rem; letter-spacing:.02em; }
}

/* 0.8.3 visual corrections from the live editorial review. */
.kc-network-final-ctas .kc-network-teacher-cta__label { display:none; }
.kc-editorial-home .kc-network-hero__trust p { display:flex; align-items:center; gap:.45rem; padding-left:0; }
.kc-editorial-home .kc-network-hero__trust p::before { position:static; flex:0 0 1.1rem; width:1.1rem; height:1.1rem; margin:0; border:0; border-radius:0; font-size:1.1rem; line-height:1; vertical-align:0; }
.kc-editorial-home .kc-network-simple-grid>.wp-block-column:nth-child(1) h3::before { content:"\f313"; }
.kc-editorial-home .kc-network-feature-grid>.wp-block-column:nth-child(2) h3::before { content:"\f307"; }

/* Decorative portal icons must not alter accessible heading names. */
.kc-editorial-home :is(.kc-network-simple-grid,.kc-network-feature-grid,.kc-network-steps) h3::before,
.kc-editorial-home .kc-network-hero__trust p::before {
  content:""!important;
  display:inline-block;
  width:1.25rem;
  height:1.25rem;
  background:currentColor;
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='7' r='3.5'/%3E%3Cpath d='M5 21c.4-5 2.8-7.5 7-7.5S18.6 16 19 21'/%3E%3C/svg%3E") center/contain no-repeat;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='7' r='3.5'/%3E%3Cpath d='M5 21c.4-5 2.8-7.5 7-7.5S18.6 16 19 21'/%3E%3C/svg%3E") center/contain no-repeat;
}

/* 0.9.1 desktop balance and full-page line-wrap corrections. */
@media (min-width:1101px) {
  .kc-editorial-home .kc-network-hero__copy h1 {
    max-width:40rem;
    font-size:clamp(3rem,3.55vw,3.35rem);
    line-height:1.42;
    letter-spacing:.035em;
    text-wrap:balance;
  }
  .kc-editorial-home>.kc-network-section:has(.kc-network-section-head) {
    grid-template-columns:minmax(14.5rem,15.5rem) minmax(0,1fr);
    gap:2.75rem;
  }
  .kc-editorial-home>.kc-network-section:has(.kc-network-section-head) .kc-network-section-head h2 {
    font-size:2.05rem;
    line-height:1.55;
    letter-spacing:.035em;
    text-wrap:balance;
  }
  .kc-editorial-home>.kc-network-teacher-choice {
    grid-template-columns:minmax(22rem,.8fr) minmax(34rem,1.2fr)!important;
    column-gap:clamp(3.5rem,6vw,6rem);
    align-items:start;
  }
  .kc-editorial-home>.kc-network-teacher-choice>* {
    max-width:none;
    margin-left:0!important;
  }
  .kc-editorial-home>.kc-network-teacher-choice>.kc-network-lead {
    width:100%;
    max-width:27rem;
    font-size:1.05rem;
    line-height:2;
  }
  .kc-editorial-home>.kc-network-teacher-choice>.kc-network-check-list {
    width:100%;
    max-width:none;
  }
}

@media (min-width:821px) and (max-width:1100px) {
  .kc-editorial-home .kc-network-hero__copy h1 {
    max-width:none;
    font-size:clamp(2.25rem,4.2vw,2.6rem);
    line-height:1.45;
    letter-spacing:.015em;
    text-wrap:balance;
  }
}
.kc-editorial-home .kc-network-feature-grid>.wp-block-column:nth-child(2) h3::before {
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7'%3E%3Ccircle cx='8' cy='8' r='3'/%3E%3Ccircle cx='16' cy='8' r='3'/%3E%3Cpath d='M2.5 21c.3-4.4 2-6.7 5.5-6.7s5.2 2.3 5.5 6.7M10.5 21c.3-4.4 2-6.7 5.5-6.7s5.2 2.3 5.5 6.7'/%3E%3C/svg%3E");
  mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7'%3E%3Ccircle cx='8' cy='8' r='3'/%3E%3Ccircle cx='16' cy='8' r='3'/%3E%3Cpath d='M2.5 21c.3-4.4 2-6.7 5.5-6.7s5.2 2.3 5.5 6.7M10.5 21c.3-4.4 2-6.7 5.5-6.7s5.2 2.3 5.5 6.7'/%3E%3C/svg%3E");
}
.kc-editorial-home .kc-network-feature-grid>.wp-block-column:nth-child(3) h3::before {
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7'%3E%3Crect x='3' y='4' width='18' height='13' rx='1.5'/%3E%3Cpath d='M1.5 20h21M9 17v3m6-3v3'/%3E%3C/svg%3E");
  mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7'%3E%3Crect x='3' y='4' width='18' height='13' rx='1.5'/%3E%3Cpath d='M1.5 20h21M9 17v3m6-3v3'/%3E%3C/svg%3E");
}
.kc-editorial-home .kc-network-hero__trust p::before {
  width:.95rem;height:.95rem;margin-right:.45rem;vertical-align:-.12em;
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.4'%3E%3Cpath d='m5 12 4 4L19 6'/%3E%3C/svg%3E");
  mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.4'%3E%3Cpath d='m5 12 4 4L19 6'/%3E%3C/svg%3E");
}
@media (min-width:821px) {
  .kc-editorial-home>.kc-network-section:has(>.kc-network-faq) { grid-template-columns:minmax(17rem,20rem) minmax(0,1fr); column-gap:4rem; }
  .kc-editorial-home>.kc-network-section:has(>.kc-network-faq)>h2 { white-space:nowrap; }
  .kc-editorial-home>.kc-network-section:has(>.kc-network-faq)>.kc-network-faq { width:100%; }
  .kc-network-final-ctas { width:100%; max-width:none; }
  .kc-network-final-ctas>.kc-network-section { display:flex; min-height:31rem; flex-direction:column; align-items:flex-start; justify-content:flex-start; text-align:left; }
  .kc-network-final-ctas>.kc-network-student-cta { padding-left:max(2.5rem,calc((100vw - 1200px)/2)); padding-right:clamp(2.5rem,5vw,5rem); }
  .kc-network-final-ctas>.kc-network-teacher-cta { padding-left:clamp(2.5rem,5vw,5rem); padding-right:max(2.5rem,calc((100vw - 1200px)/2)); }
  .kc-network-final-ctas>.kc-network-section>h2 { min-height:5.8rem; margin-bottom:1.2rem; }
  .kc-network-final-ctas>.kc-network-section>p:not(.kc-network-eyebrow):not(.kc-network-teacher-cta__label) { min-height:4rem; margin-top:0; }
  .kc-network-final-ctas .wp-block-buttons { margin-top:auto; }
}
/* TOP-aligned directory finish: warm yellow accents and calmer vertical rhythm. */
.kc-directory-page{background:linear-gradient(180deg,#fff8df 0 25rem,#fffdf9 25rem);padding-bottom:5rem!important}
.kc-directory-page__intro{padding-top:clamp(4.5rem,8vw,7rem);padding-bottom:4rem;background:radial-gradient(circle at 88% 20%,rgba(244,196,58,.28) 0 5rem,transparent 5.1rem)}
.kc-network-eyebrow{color:#c58b00;letter-spacing:.16em}
.kc-directory-page__intro h1{line-height:1.55;letter-spacing:.02em}
.kc-directory-page>.kc-directory-search{margin-top:-1.25rem;margin-bottom:4.5rem;border-radius:1.25rem;background:#332b24;box-shadow:0 1.25rem 2.5rem rgba(51,43,36,.15)}
.kc-directory-search button,.kc-network-header__cta{border:0;border-radius:999px;background:#f4c43a;color:#332b24}.kc-directory-search button:hover,.kc-directory-search button:focus-visible,.kc-network-header__cta:hover,.kc-network-header__cta:focus-visible{background:#e2ad20;color:#332b24}
.kc-quick-chips{gap:1rem;margin:1.75rem 0 2rem}.kc-quick-chips a{min-height:3.25rem;border-color:#f0dfaa;box-shadow:0 .35rem 1rem rgba(51,43,36,.06)}
.kc-directory-page__results>h2{margin-bottom:2.5rem}.kc-academy-cards{gap:1.5rem}.kc-academy-card{border:1px solid #eee4c9;border-radius:1.25rem;box-shadow:0 .45rem 1.2rem rgba(51,43,36,.07);overflow:hidden}.kc-academy-card__body{padding:1.5rem}.kc-academy-card__area{color:#c58b00}
@media(max-width:600px){.kc-directory-page{background:linear-gradient(180deg,#fff8df 0 31rem,#fffdf9 31rem);padding-bottom:4rem!important}.kc-directory-page__intro{padding-top:3.75rem;padding-bottom:3rem}.kc-directory-page>.kc-directory-search{margin-bottom:3.5rem;border-radius:1rem}.kc-quick-chips{gap:.75rem;margin:1.5rem 0}.kc-quick-chips a{min-height:3rem}.kc-academy-card__body{padding:1.25rem}}
/* Directory readability and card grid refinement. */
.kc-directory-search label{color:rgba(255,255,255,.9)!important}
.kc-directory-search input,.kc-directory-search select{color:#332b24;background:#fffdf9;border-color:#eadfca}
.kc-academy-cards{grid-template-columns:repeat(auto-fit,minmax(min(100%,18rem),1fr))!important;align-items:stretch}
.kc-academy-card{width:auto!important;max-width:none!important}.kc-academy-card__body{color:#332b24}.kc-academy-card__teacher,.kc-academy-card__description{color:#5f5553}.kc-academy-card__types span{background:#fff4e8;color:#6d5143;border-color:#efd9c4}
.kc-directory-page>.kc-directory-search .kc-directory-search__field:nth-child(2),.kc-directory-page>.kc-directory-search .kc-directory-search__field:nth-child(3){display:none}.kc-directory-page>.kc-directory-search{grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto}.kc-directory-page>.kc-directory-search .kc-directory-search__field:first-child label{font-size:0}.kc-directory-page>.kc-directory-search .kc-directory-search__field:first-child label:after{content:'エリアを選択';font-size:.68rem}.kc-directory-page>.kc-directory-search button{grid-column:auto}@media(max-width:1080px){.kc-directory-page>.kc-directory-search{grid-template-columns:1fr 1fr}.kc-directory-page>.kc-directory-search button{grid-column:1/-1}}@media(max-width:600px){.kc-directory-page>.kc-directory-search{grid-template-columns:1fr}.kc-directory-page>.kc-directory-search button{grid-column:auto}}
.kc-updates{max-width:var(--kc-network-content);margin:0 auto 3rem;padding:1.5rem 1.75rem;border:2px solid #f4c43a;border-radius:1.15rem;background:#fffdf5;color:#332b24;box-shadow:0 .45rem 1.2rem rgba(51,43,36,.07)}.kc-updates h2{margin:0 0 1rem;color:#8d6500;font-size:1.25rem}.kc-updates p{color:#5f5553}.kc-updates__viewport{max-height:9rem;overflow:hidden}.kc-updates ul{margin:0;padding:0;list-style:none;animation:kc-updates-scroll 18s linear infinite}.kc-updates li{display:flex;gap:1rem;align-items:center;padding:.7rem 0;border-top:1px solid #f0dfaa}.kc-updates time{color:#8d6500;font-size:.82rem;white-space:nowrap}.kc-updates a{color:#332b24;font-weight:600;text-decoration:none}.kc-updates a:hover{text-decoration:underline}.kc-updates__more{display:inline-block;margin-top:1rem;color:#8d6500;font-weight:700;text-decoration:none}@keyframes kc-updates-scroll{from{transform:translateY(0)}to{transform:translateY(-50%)}}@media(prefers-reduced-motion:reduce){.kc-updates ul{animation:none}}
.kc-directory-page>.kc-directory-search{grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;align-items:end;gap:1rem;padding:1.75rem 2rem}.kc-directory-page>.kc-directory-search .kc-directory-search__field:nth-child(2),.kc-directory-page>.kc-directory-search .kc-directory-search__field:nth-child(3){display:none}.kc-directory-page>.kc-directory-search .kc-directory-search__field:first-child label{font-size:.78rem}.kc-directory-page>.kc-directory-search .kc-directory-search__field:first-child label:after{content:none}.kc-directory-page>.kc-directory-search label{color:rgba(255,255,255,.92)!important}.kc-directory-page>.kc-directory-search button{grid-column:auto;min-width:11rem}
@media(max-width:1080px){.kc-directory-page>.kc-directory-search{grid-template-columns:1fr 1fr}.kc-directory-page>.kc-directory-search button{grid-column:1/-1}}@media(max-width:600px){.kc-updates{padding:1.25rem;margin-bottom:2.5rem}.kc-directory-page>.kc-directory-search{grid-template-columns:1fr;padding:1.25rem}.kc-directory-page>.kc-directory-search button{grid-column:auto}}





.kc-top-hero-photo{position:relative}.kc-top-hero-photo .kc-top-updates{position:absolute;z-index:2;left:clamp(1rem,6vw,6rem);top:50%;width:min(48%,46rem);transform:translateY(-50%)}.kc-top-hero-photo .kc-updates{margin:0;text-align:left;background:rgba(255,253,245,.94)}
@media(max-width:700px){.kc-top-hero-photo .kc-top-updates{position:relative;left:auto;top:auto;width:auto;transform:none;padding:1rem}.kc-top-hero-photo .kc-updates{margin:0 1rem}}


/* Directory search: soft yellow horizontal treatment */
.kc-directory-page>.kc-directory-search{grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto!important;align-items:end;background:#fff8df!important;border:2px solid #f4c43a!important;box-shadow:0 1rem 2.5rem rgba(180,140,40,.14)!important}
.kc-directory-page>.kc-directory-search label{color:#5c4a24!important;font-weight:700!important}
.kc-directory-page>.kc-directory-search input,.kc-directory-page>.kc-directory-search select{color:#332b24!important;border-color:#e5c86a!important;background:#fffdf8!important}
.kc-directory-page>.kc-directory-search button{grid-column:auto!important;background:#f4c43a!important;color:#332b24!important;border:0!important;min-width:11rem}
@media(max-width:1080px){.kc-directory-page>.kc-directory-search{grid-template-columns:1fr 1fr!important}.kc-directory-page>.kc-directory-search button{grid-column:1/-1!important}}
@media(max-width:600px){.kc-directory-page>.kc-directory-search{grid-template-columns:1fr!important}.kc-directory-page>.kc-directory-search button{grid-column:auto!important}}


@media(min-width:601px){.kc-directory-page__intro>p:not(.kc-network-eyebrow){margin-left:0!important;margin-right:0!important;text-align:left;max-width:42rem!important}}

/* Academy lesson detail pages. */
.kc-lesson-detail-body{margin:0;background:#fffdf9;color:#302b2a;font-family:"Hiragino Mincho ProN","Yu Mincho",serif}.kc-lesson-detail-header{display:flex;align-items:center;justify-content:space-between;gap:2rem;min-height:4.7rem;padding:.65rem clamp(1.25rem,5vw,5rem);border-bottom:1px solid #e7ded4;background:#fffdf9;font-family:sans-serif}.kc-lesson-detail-brand{color:#943f4c;font-family:"Hiragino Mincho ProN","Yu Mincho",serif;font-size:1.35rem;font-weight:700;letter-spacing:.14em;text-decoration:none}.kc-lesson-detail-header nav{display:flex;flex-wrap:wrap;gap:1.5rem}.kc-lesson-detail-header nav a{color:#4b4542;font-size:.84rem;text-decoration:none}.kc-lesson-detail{max-width:1440px;margin:0 auto;padding-bottom:5rem}.kc-lesson-detail__hero-image{min-height:17rem;background:#ede8df;overflow:hidden}.kc-lesson-detail__image{display:block;width:100%;height:clamp(17rem,31vw,29rem);object-fit:cover;object-position:center 42%}.kc-lesson-detail__layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(19rem,22rem);gap:clamp(2rem,5vw,5rem);max-width:1180px;margin:0 auto;padding:clamp(2.5rem,6vw,5.5rem) clamp(1.25rem,4vw,3rem)}.kc-lesson-detail__eyebrow{margin:0;color:#71856d;font-family:sans-serif;font-size:.72rem;font-weight:700;letter-spacing:.2em}.kc-lesson-detail__academy{margin:.7rem 0 0;font-size:.9rem}.kc-lesson-detail__academy a{color:#71856d;text-decoration:none}.kc-lesson-detail h1{margin:.6rem 0 1.3rem;font-size:clamp(2rem,4vw,3.6rem);font-weight:500;letter-spacing:.06em;line-height:1.35}.kc-lesson-detail__lead{max-width:46rem;margin:0;color:#554e4a;font-size:1.08rem;line-height:2}.kc-lesson-detail__section{margin-top:3.5rem;padding-top:1.2rem;border-top:1px solid #dfd7cd}.kc-lesson-detail__section h2,.kc-lesson-detail__teacher h2{margin:0 0 1rem;font-size:clamp(1.35rem,2.4vw,1.85rem);font-weight:500;letter-spacing:.08em}.kc-lesson-detail__prose,.kc-lesson-detail__section>p{max-width:46rem;line-height:2.05}.kc-lesson-detail__points{display:grid;gap:.75rem;margin:1.25rem 0 0;padding:0;list-style:none;counter-reset:lesson}.kc-lesson-detail__points li{display:grid;grid-template-columns:2.15rem 1fr;gap:.65rem;align-items:start;line-height:1.8}.kc-lesson-detail__points li::before{display:grid;width:1.8rem;height:1.8rem;place-items:center;border-radius:50%;background:#71856d;color:#fff;content:counter(lesson);counter-increment:lesson;font-family:sans-serif;font-size:.74rem}.kc-lesson-detail__bring{padding:1.5rem 1.7rem;border:0;background:#f5f6f1}.kc-lesson-detail__teacher{display:grid;grid-template-columns:8rem minmax(0,1fr);gap:1.5rem;align-items:start;margin-top:3.5rem;padding:1.8rem;border:1px solid #e5ddd5;background:#fff}.kc-lesson-detail__teacher-image{display:block;width:8rem;height:8rem;object-fit:cover;border-radius:50%;background:#eee8e1}.kc-lesson-detail__teacher p{margin:.45rem 0;line-height:1.9}.kc-lesson-detail__booking{align-self:start;position:sticky;top:1rem;border:1px solid #d9d7cb;background:#fff}.kc-lesson-detail__booking-title{margin:0;padding:1rem 1.4rem;background:#71856d;color:#fff;font-size:1.05rem;letter-spacing:.08em}.kc-lesson-detail__booking dl{margin:0;padding:.4rem 1.4rem}.kc-lesson-detail__booking dl div{padding:1rem 0;border-bottom:1px solid #e5ded6}.kc-lesson-detail__booking dt{margin-bottom:.25rem;color:#71856d;font-family:sans-serif;font-size:.75rem;font-weight:700;letter-spacing:.06em}.kc-lesson-detail__booking dd{margin:0;line-height:1.75}.kc-lesson-detail__cta{display:block;margin:1.4rem;padding:1rem 1.2rem;background:#b34d50;color:#fff;font-family:sans-serif;font-weight:700;text-align:center;text-decoration:none}.kc-lesson-detail__cta.is-disabled{background:#b8b2ad;color:#fff;cursor:not-allowed}.kc-lesson-detail-footer{display:flex;justify-content:space-between;gap:1.5rem;padding:2.5rem clamp(1.25rem,5vw,5rem);background:#2e2a29;color:#f8f3ec;font-size:.85rem}.kc-lesson-detail-footer a{color:#fff;font-family:"Hiragino Mincho ProN","Yu Mincho",serif;font-size:1.05rem;font-weight:700;letter-spacing:.12em;text-decoration:none}@media(max-width:820px){.kc-lesson-detail__layout{grid-template-columns:1fr}.kc-lesson-detail__booking{position:static;grid-row:1}.kc-lesson-detail__content{grid-row:2}}@media(max-width:600px){.kc-lesson-detail-header{align-items:flex-start;flex-direction:column;gap:.5rem;padding:1rem 1.2rem}.kc-lesson-detail-header nav{gap:1rem}.kc-lesson-detail__hero-image{min-height:13rem}.kc-lesson-detail__image{height:15rem}.kc-lesson-detail__layout{padding:2.5rem 1.2rem}.kc-lesson-detail__teacher{grid-template-columns:1fr;padding:1.35rem}.kc-lesson-detail__teacher-image{width:6rem;height:6rem}.kc-lesson-detail-footer{align-items:flex-start;flex-direction:column;padding:2.5rem 1.2rem}}

/* Collapsible academy conditions, placed beside the final enquiry area. */
.kc-conditions-disclosure{border-top:1px solid var(--kc-border,#d8d2cc);border-bottom:1px solid var(--kc-border,#d8d2cc)}.kc-conditions-disclosure summary{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.35rem 0;cursor:pointer;list-style:none}.kc-conditions-disclosure summary::-webkit-details-marker{display:none}.kc-conditions-disclosure summary::after{content:"＋";color:var(--kc-accent);font-family:sans-serif;font-size:1.4rem;font-weight:400}.kc-conditions-disclosure[open] summary::after{content:"−"}.kc-conditions-disclosure summary span{font-size:clamp(1.4rem,2.5vw,2rem);letter-spacing:.06em}.kc-conditions-disclosure summary small{margin-left:auto;color:var(--kc-muted);font-family:sans-serif;font-size:.78rem}.kc-conditions-disclosure .kc-conditions-list{margin:0;padding:0 0 1.5rem}.kc-conditions-disclosure .kc-conditions-list>div:first-child{border-top:1px solid var(--kc-border,#d8d2cc)}@media(max-width:600px){.kc-conditions-disclosure summary{align-items:flex-start;flex-wrap:wrap}.kc-conditions-disclosure summary small{margin-left:0;flex-basis:calc(100% - 2rem)}}

/* Academy gallery: the registered image order drives the active image and the thumbnail rail. */
.kc-section--gallery { background:var(--kc-paper); }
.kc-academy-gallery { display:grid; grid-template-columns:minmax(16rem,.58fr) minmax(0,1.42fr); gap:clamp(2rem,5vw,5.5rem); align-items:center; }
.kc-academy-gallery__intro { align-self:center; container-type:inline-size; }
.kc-academy-gallery__intro .kc-heading { max-width:none; margin-bottom:1.5rem; font-size:clamp(1.5rem,10.4cqi,2.65rem); letter-spacing:.035em; line-height:1.35; white-space:nowrap; word-break:keep-all; overflow-wrap:normal; }
.kc-academy-gallery__lead { margin:0; color:var(--kc-muted); font-size:1.05rem; line-height:2; }
.kc-academy-gallery__count { margin:clamp(2.5rem,6vw,5.5rem) 0 0; color:var(--kc-accent); font-size:clamp(1.35rem,2.2vw,2rem); letter-spacing:.12em; }
.kc-academy-gallery__count span:last-child { color:var(--kc-ink); }
.kc-academy-gallery__stage { width:100%; aspect-ratio:16 / 9; margin:0; overflow:hidden; background:var(--kc-washi); }
.kc-academy-gallery__stage-image { display:block; width:100%; height:100%; object-fit:cover; object-position:center top; }
.kc-academy-gallery__stage-image.is-changing { animation:kc-academy-gallery-fade .24s ease-out; }
@keyframes kc-academy-gallery-fade { from { opacity:.48; } to { opacity:1; } }
.kc-academy-gallery__rail { grid-column:1 / -1; display:grid; grid-template-columns:auto minmax(0,1fr) auto; gap:clamp(.55rem,1.4vw,1.25rem); align-items:center; margin-top:clamp(.5rem,2vw,1.5rem); }
.kc-academy-gallery__viewport { min-width:0; overflow-x:auto; scrollbar-width:none; cursor:grab; touch-action:pan-y; scroll-behavior:smooth; }
.kc-academy-gallery__viewport::-webkit-scrollbar { display:none; }
.kc-academy-gallery__viewport.is-dragging { cursor:grabbing; scroll-behavior:auto; user-select:none; }
.kc-academy-gallery__thumbnails { display:grid; grid-auto-flow:column; grid-auto-columns:clamp(9.5rem,14.5vw,13.75rem); gap:.75rem; width:max-content; padding:.25rem clamp(2rem,5vw,5rem) .25rem 0; }
.kc-academy-gallery__thumbnail { position:relative; display:block; width:100%; aspect-ratio:4 / 3; padding:0; overflow:hidden; border:0; border-top:3px solid transparent; background:var(--kc-washi); cursor:pointer; }
.kc-academy-gallery__thumbnail img { display:block; width:100%; height:100%; object-fit:cover; object-position:center; transition:opacity .2s ease; }
.kc-academy-gallery__thumbnail:hover img, .kc-academy-gallery__thumbnail:focus-visible img { opacity:.82; }
.kc-academy-gallery__thumbnail.is-selected { border-top-color:var(--kc-accent); }
.kc-academy-gallery__thumbnail:focus-visible { outline:3px solid var(--kc-accent); outline-offset:3px; }
.kc-academy-gallery__arrow { display:grid; width:2.6rem; height:2.6rem; place-items:center; border:0; background:transparent; color:var(--kc-accent); font-family:serif; font-size:2.15rem; line-height:1; cursor:pointer; }
.kc-academy-gallery__arrow:hover, .kc-academy-gallery__arrow:focus-visible { color:var(--kc-accent-dark); }
.kc-academy-gallery__arrow:focus-visible { outline:3px solid var(--kc-accent); outline-offset:2px; }
.kc-academy-gallery__hint { grid-column:2; margin:0; color:var(--kc-muted); font-family:sans-serif; font-size:.72rem; letter-spacing:.1em; text-align:right; }
@media (max-width:820px) {
  .kc-academy-gallery { grid-template-columns:minmax(13rem,.52fr) minmax(0,1.48fr); gap:2rem; }
  .kc-academy-gallery__thumbnails { grid-auto-columns:clamp(8.5rem,22vw,11.5rem); }
}
@media (max-width:600px) {
  .kc-academy-gallery { display:block; }
  .kc-academy-gallery__intro .kc-heading { max-width:none; }
  .kc-academy-gallery__lead { font-size:1rem; }
  .kc-academy-gallery__count { margin:1.75rem 0 2rem; font-size:1.4rem; }
  .kc-academy-gallery__stage { aspect-ratio:4 / 3; }
  .kc-academy-gallery__rail { grid-template-columns:2rem minmax(0,1fr) 2rem; gap:.25rem; margin-top:1rem; }
  .kc-academy-gallery__thumbnails { grid-auto-columns:calc((100vw - 7rem) / 2); gap:.55rem; padding-right:2.5rem; }
  .kc-academy-gallery__arrow { width:2rem; height:2.5rem; font-size:1.75rem; }
  .kc-academy-gallery__hint { margin-top:.6rem; font-size:.66rem; text-align:right; }
}
@media (prefers-reduced-motion:reduce) {
  .kc-academy-gallery__stage-image.is-changing { animation:none; }
  .kc-academy-gallery__viewport { scroll-behavior:auto; }
  .kc-academy-gallery__thumbnail img { transition:none; }
}

/* Preserve Pop and Editorial layouts while color presets only replace the palette. */
.kc-academy-site.kc-template-pop { --kc-accent:#f1c43c; --kc-accent-dark:#b4870b; --kc-paper:#fff; --kc-washi:#fff8dc; --kc-ink:#1f1c18; --kc-deep:#1f1c18; --kc-radius:1.25rem; font-family:"Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif; }
.kc-academy-site.kc-template-editorial { --kc-accent:#a94f32; --kc-accent-dark:#843720; --kc-paper:#fbf7ef; --kc-washi:#eee2cf; --kc-ink:#35261f; --kc-deep:#35261f; --kc-radius:0; }
.kc-academy-site:is(.kc-template-pop,.kc-template-editorial).kc-preset-indigo { --kc-accent:#53617d; --kc-accent-dark:#3e4962; --kc-washi:#eef0f4; }
.kc-academy-site:is(.kc-template-pop,.kc-template-editorial).kc-preset-sakura { --kc-accent:#a75c68; --kc-accent-dark:#824651; --kc-washi:#f8eef0; }
.kc-academy-site:is(.kc-template-pop,.kc-template-editorial) .kc-lp { --kc-accent:inherit; --kc-accent-dark:inherit; --kc-paper:inherit; --kc-washi:inherit; --kc-ink:inherit; --kc-deep:inherit; }
.kc-academy-site:is(.kc-template-pop,.kc-template-editorial) .kc-hero { min-height:0; background:var(--kc-paper); align-items:stretch; }
.kc-academy-site:is(.kc-template-pop,.kc-template-editorial) .kc-hero::before { content:none; }
.kc-academy-site:is(.kc-template-pop,.kc-template-editorial) .kc-hero__content { position:relative; inset:auto; width:100%; min-width:0; margin:0; color:var(--kc-ink); }
.kc-academy-site:is(.kc-template-pop,.kc-template-editorial) .kc-hero__panel { width:100%; max-width:100%; min-width:0; background:transparent; box-shadow:none; backdrop-filter:none; overflow-wrap:anywhere; }
.kc-academy-site:is(.kc-template-pop,.kc-template-editorial) .kc-hero__media { position:relative; inset:auto; min-width:0; margin:0; overflow:hidden; }
.kc-academy-site.kc-template-pop .kc-hero { display:flex; flex-direction:column; }
.kc-academy-site.kc-template-pop .kc-hero__content { order:1; display:flex; justify-content:center; text-align:center; padding:clamp(2rem,5vw,5rem) 1.25rem; }
.kc-academy-site.kc-template-pop .kc-hero__panel { max-width:58rem; padding:1rem; }
.kc-academy-site.kc-template-pop .kc-hero h1 { max-width:18em; margin-inline:auto; font-size:clamp(2rem,4.8vw,4.5rem); font-weight:800; line-height:1.4; letter-spacing:-.025em; }
.kc-academy-site.kc-template-pop .kc-hero__copy { margin-inline:auto; color:var(--kc-muted); }
.kc-academy-site.kc-template-pop .kc-hero__actions { justify-content:center; flex-wrap:wrap; }
.kc-academy-site.kc-template-pop .kc-hero__media { order:2; width:calc(100% - 2rem); max-width:78rem; height:clamp(18rem,46vw,38rem); min-height:0; margin:0 auto; border-radius:1.25rem; }
.kc-academy-site.kc-template-pop .kc-heading { font-family:inherit; font-weight:800; }
.kc-academy-site.kc-template-pop :is(.kc-section--lessons,.kc-cta) { background:var(--kc-washi); color:var(--kc-ink); }
.kc-academy-site.kc-template-pop .kc-cta .kc-lead { color:var(--kc-muted); }
.kc-academy-site.kc-template-pop :is(.kc-card,.kc-recruit-card,.kc-voice-card) { border:1px solid var(--kc-accent); border-radius:1.25rem; background:var(--kc-paper); box-shadow:0 .5rem 1.5rem #302b2910; transform:none; }
.kc-academy-site.kc-template-pop :is(.kc-button,.kc-recruit-card__action) { border-radius:999px; background:var(--kc-accent); border-color:var(--kc-accent-dark); color:#1f1c18; font-weight:800; white-space:normal; }
.kc-academy-site.kc-template-pop:is(.kc-preset-indigo,.kc-preset-sakura) :is(.kc-button,.kc-recruit-card__action) { color:#fff; }
.kc-academy-site.kc-template-editorial .kc-hero { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(0,1fr); }
.kc-academy-site.kc-template-editorial .kc-hero__media { grid-column:1; grid-row:1; min-height:32rem; }
.kc-academy-site.kc-template-editorial .kc-hero__content { grid-column:2; grid-row:1; display:flex; align-items:center; padding:clamp(1.25rem,3vw,3rem); border-left:1px solid var(--kc-accent); }
.kc-academy-site.kc-template-editorial .kc-hero h1 { font-size:clamp(2rem,3.5vw,3.6rem); line-height:1.5; letter-spacing:.02em; }
.kc-academy-site.kc-template-editorial .kc-section--teacher { background:var(--kc-washi); }
.kc-academy-site.kc-template-editorial :is(.kc-card,.kc-recruit-card,.kc-voice-card) { border:0; border-top:1px solid var(--kc-accent); border-radius:0; background:var(--kc-paper); box-shadow:none; }
.kc-academy-site.kc-template-editorial :is(.kc-button,.kc-recruit-card__action) { border-radius:0; background:var(--kc-accent); color:#fff; white-space:normal; }
@media (max-width:900px) {
  .kc-academy-site.kc-template-editorial .kc-hero { display:flex; flex-direction:column; }
  .kc-academy-site.kc-template-editorial .kc-hero__media { order:1; height:65vw; min-height:0; max-height:32rem; }
  .kc-academy-site.kc-template-editorial .kc-hero__content { order:2; border-left:0; border-top:1px solid var(--kc-accent); }
}
@media (max-width:600px) {
  .kc-academy-site:is(.kc-template-pop,.kc-template-editorial) .kc-hero h1 { font-size:clamp(1.8rem,7.5vw,2.5rem); }
  .kc-academy-site.kc-template-pop .kc-hero__media { height:65vw; max-height:24rem; aspect-ratio:auto; }
}

/* Keep the portrait inside its grid track and stack before narrow desktop widths cause overlap. */
.kc-split--teacher .kc-photo--portrait { width:100%; min-width:0; }
@media (max-width:980px) {
  .kc-template-elegant .kc-split--teacher,
  .kc-template-warm .kc-split--teacher,
  .kc-template-modern .kc-split--teacher,
  .kc-template-pop .kc-split--teacher,
  .kc-template-editorial .kc-split--teacher { grid-template-columns:minmax(0,1fr); gap:3rem; }
  .kc-split--teacher .kc-photo--portrait { width:min(100%,34rem); min-height:0; aspect-ratio:4 / 5; margin-inline:auto; transform:none; }
}

/* Optional lesson-detail fields remain invisible until a teacher enters content. */
.kc-lesson-detail__points--plain { counter-reset:none; list-style:none; }
.kc-lesson-detail__points--plain li::before { content:"◆"; counter-increment:none; width:auto; height:auto; place-items:initial; border-radius:0; background:transparent; color:#b34d50; font-family:inherit; font-size:.68rem; }
@media (max-width:600px) {
  .kc-lesson-detail__section { margin-top:2.5rem; }
  .kc-lesson-detail__points { gap:.6rem; }
  .kc-lesson-detail__points li { grid-template-columns:1.9rem minmax(0,1fr); }
}


/* Certified schools in the shared directory. */
.kc-directory-page>.kc-directory-search{grid-template-columns:repeat(3,minmax(0,1fr)) auto!important}
.kc-certified-card__banner{min-height:10rem;padding:1.75rem;background:#faf1ce;display:flex;flex-direction:column;justify-content:space-between;color:#5c4a24}
.kc-certified-card__banner span{align-self:flex-start;padding:.4rem .8rem;border:1px solid #d7c78e;border-radius:999px;background:#fffdf5;font-size:.8rem;font-weight:700}
.kc-certified-card__banner p{margin:1.25rem 0 0;font-size:1.15rem}
.kc-certified-card .kc-academy-card__body{display:flex;flex-direction:column;gap:1rem;flex:1;overflow-wrap:anywhere}
.kc-certified-card{display:flex;flex-direction:column}
.kc-certified-card .kc-text-link{margin-top:auto}
@media(max-width:1080px){.kc-directory-page>.kc-directory-search{grid-template-columns:1fr 1fr!important}}
@media(max-width:600px){.kc-directory-page>.kc-directory-search{grid-template-columns:1fr!important}}

/* Recruitment cards: consistent reading order and compact actions. */
.kc-academy-site .kc-lp .kc-recruit{background:#f4f2ed;color:#303b35}
.kc-academy-site .kc-lp .kc-recruit .kc-section-intro{align-items:end;gap:24px;margin-bottom:32px}
.kc-academy-site .kc-lp .kc-recruit .kc-heading{font-size:clamp(26px,3vw,38px);line-height:1.5;letter-spacing:.04em}
.kc-academy-site .kc-lp .kc-recruit-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;align-items:stretch}
.kc-academy-site .kc-lp .kc-recruit-card{display:flex;flex-direction:column;min-width:0;overflow:hidden;background:#fffefa;border:1px solid #dedfd5;border-radius:16px;box-shadow:0 8px 28px #35443808;transform:none}
.kc-academy-site .kc-lp .kc-recruit-card__date{display:none}
.kc-academy-site .kc-lp .kc-recruit-card__body{padding:28px;flex:1;min-width:0}
.kc-academy-site .kc-lp .kc-recruit-card .kc-status{display:inline-flex;align-items:center;border:0;border-radius:30px;padding:5px 13px;background:#e8eee4;color:#35543c;font:600 13px/1.6 sans-serif;letter-spacing:.04em}
.kc-academy-site .kc-lp .kc-recruit-card h3{margin:16px 0 22px;font-size:clamp(20px,2vw,25px);line-height:1.6;color:#28392f;overflow-wrap:anywhere}
.kc-academy-site .kc-lp .kc-recruit-card dl{display:grid;grid-template-columns:1fr;gap:0;margin:0;font-family:sans-serif;font-size:15px;line-height:1.8}
.kc-academy-site .kc-lp .kc-recruit-card dl>div{display:grid;grid-template-columns:48px minmax(0,1fr);gap:14px;padding:10px 0;border-bottom:1px solid #ecece5}
.kc-academy-site .kc-lp .kc-recruit-card dt{font-size:12px;color:#6b756e;padding-top:3px}
.kc-academy-site .kc-lp .kc-recruit-card dd{margin:0;color:#303b35;overflow-wrap:anywhere}
.kc-academy-site .kc-lp .kc-recruit-card__body>p{font-size:14px;line-height:1.9;color:#606b63;margin:18px 0 0;white-space:pre-line}
.kc-academy-site .kc-lp .kc-recruit-card__map{display:inline-block;font:500 14px/1.7 sans-serif;color:#48664e;margin:12px 0 0;text-underline-offset:4px}
.kc-academy-site .kc-lp .kc-recruit-card__action{display:flex;flex-direction:row;justify-content:space-between;align-items:center;gap:20px;min-height:52px;width:auto;margin:0 28px 28px;padding:14px 20px;background:#435d4a;color:#fff;border:1px solid #435d4a;border-radius:8px;text-decoration:none;font:600 14px/1.6 sans-serif;box-sizing:border-box}
.kc-academy-site .kc-lp .kc-recruit-card__action:hover{background:#2f4936}
.kc-academy-site .kc-lp .kc-recruit-card__action:focus-visible{outline:3px solid #b8773a;outline-offset:4px}
.kc-academy-site .kc-lp .kc-recruit-card__action span{margin:0;font-size:20px}
@media(max-width:760px){.kc-academy-site .kc-lp .kc-recruit-list{grid-template-columns:minmax(0,1fr);gap:18px}.kc-academy-site .kc-lp .kc-recruit .kc-section-intro{display:block}.kc-academy-site .kc-lp .kc-recruit-card__body{padding:22px}.kc-academy-site .kc-lp .kc-recruit-card__action{margin:0 22px 22px}}

/* Distinguish optional services from lessons. */
.kc-academy-site .kc-lp .kc-recruit.kc-recruit--services{background:#fff8df}
