:root{--paper:#fbf9f3;--ink:#263e4b;--muted:#53676e;--blue:#39738b;--wash:#eaf1f2;--line:#d8dfdc;--accent:#ae543c;--accent-dark:#873f2d;--serif:'Shippori Mincho','Yu Mincho',serif;--sans:'Zen Kaku Gothic New','Yu Gothic',sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:40px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:17px;line-height:1.95}a{color:inherit;text-underline-offset:5px}button{font:inherit}a,button,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--accent);outline-offset:5px}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:var(--serif);font-weight:600}h2{font-size:clamp(28px,3.3vw,39px);line-height:1.7;letter-spacing:.045em}h3{font-size:22px;line-height:1.65}section[id]{scroll-margin-top:28px}.wrap{width:min(1120px,calc(100% - 88px));margin-inline:auto}.eyebrow{font-size:14px;font-weight:700;letter-spacing:.13em;color:var(--blue);margin-bottom:20px}.review-bar{display:flex;align-items:center;justify-content:center;gap:32px;background:#e9e6df;color:#4d5354;font-size:12px;line-height:1.5;padding:9px 20px}.review-bar a{text-decoration-thickness:1px}.site-header{display:flex;align-items:center;justify-content:space-between;padding-block:25px;border-bottom:1px solid var(--line)}.brand{font-family:var(--serif);font-weight:700;font-size:24px;letter-spacing:.1em;text-decoration:none;display:flex;gap:16px;align-items:baseline}.brand span{font-family:var(--sans);font-size:12px;font-weight:500;letter-spacing:.05em}.site-header nav{display:flex;align-items:center;gap:26px;font-size:14px;font-weight:500}.site-header nav a{text-decoration:none;padding-block:8px}.site-header nav .nav-cta{background:var(--wash);border-radius:3px;padding:7px 20px}.hero{display:grid;grid-template-columns:1.15fr 1fr;gap:50px;padding-top:64px;padding-bottom:60px;align-items:center}.hero h1{font-size:clamp(36px,4.1vw,52px);line-height:1.5;letter-spacing:.045em}.hero-line{font-family:var(--serif);font-size:24px;line-height:1.75;margin-top:25px}.hero-description{color:var(--muted);font-size:16px;line-height:2;margin-top:20px}.hero-actions{display:flex;align-items:flex-start;flex-direction:column;gap:18px;margin-top:30px}.button{display:inline-flex;align-items:center;justify-content:center;gap:24px;min-height:58px;padding:15px 22px;font-size:16px;font-weight:700;text-decoration:none;border:1px solid transparent;border-radius:3px;line-height:1.6;transition:background .18s}.primary{color:#fff;background:var(--accent)}.primary:hover{background:var(--accent-dark)}.text-link{font-size:14px;font-weight:700}.text-link span{margin-left:18px}.hero-art{height:390px;position:relative;isolation:isolate;border-radius:46% 46% 8% 8%;background:radial-gradient(ellipse at 50% 35%,#e3eff2 0,#eef4f2 50%,#fbf9f3 74%);overflow:hidden}.hero-art p{position:absolute;bottom:12px;left:0;right:0;text-align:center;font-family:var(--serif);font-size:16px;letter-spacing:.1em;color:#557160}.sun{position:absolute;top:50px;right:75px;width:48px;height:48px;background:#f0d392;border-radius:50%;opacity:.7}.cloud{position:absolute;background:#fffdf9;opacity:.85;width:90px;height:14px;border-radius:50%}.cloud-one{left:45px;top:75px;transform:rotate(-6deg)}.cloud-two{right:5px;top:130px;width:110px}.field{position:absolute;left:1%;right:0;height:80px;background:#d7e3ce;border-radius:50% 50% 0 0;bottom:47px;z-index:-1;opacity:.55}.art-scene{position:absolute;left:0;right:0;top:140px;display:flex;align-items:flex-end;gap:0;padding:0 5px;transform:rotate(-2deg)}.walkmark{width:55%;height:180px}.schoolmark{width:45%;height:166px}.walkmark,.schoolmark{stroke-linecap:round;stroke-linejoin:round;overflow:visible}.schoolmark .wall{fill:#fffdf7;stroke:#c79a6b;stroke-width:1.6}.schoolmark .roof{fill:#ce6953}.schoolmark .win rect{fill:#eabd5c}.schoolmark .door{fill:#d4a273}.schoolmark .clockface{fill:#fff;stroke:#c79a6b;stroke-width:1.4}.schoolmark .hand{stroke:#a8391f;stroke-width:1.4;fill:none}.schoolmark .bell{fill:#eabd5c}.schoolmark .trunk{stroke:#96683c;stroke-width:2.6;fill:none}.schoolmark .leaf{fill:#86ad78}.schoolmark .ground{stroke:#dcc39e;stroke-width:2;fill:none}.schoolmark .fly ellipse{fill:#5f9bb4}.schoolmark .fly .stem,.schoolmark .fly .flag{stroke:#5f9bb4;stroke-width:1.5;fill:none}.walkmark .road{stroke:#ecdcbf;stroke-width:9;fill:none}.walkmark .roadline{stroke:#fffdf7;stroke-width:1.4;stroke-dasharray:3 6;fill:none}.walkmark .head{fill:#f8dcbd}.walkmark .hair{fill:#4a3526}.walkmark .limb{stroke:#7d6650;stroke-width:1.8;fill:none}.walkmark .bag{fill:#8a5a2b}.walkmark .k1 .body{fill:#eabd5c}.walkmark .k2 .body{fill:#ce6953}.walkmark .k3 .body{fill:#5f9bb4}.walkmark .petal circle{fill:#fff4d8;stroke:#ce6953;stroke-width:1}.walkmark .petal .core{fill:#eabd5c;stroke:none}.walkmark .spark{fill:#eabd5c}.overview{display:grid;grid-template-columns:1fr 1.3fr 1fr;border-block:1px solid var(--line);padding-block:25px;gap:30px}.overview>p{display:flex;flex-direction:column;justify-content:center}.overview p+p{border-left:1px solid var(--line);padding-left:38px}.overview span{font-size:13px;color:var(--muted);margin-bottom:2px}.overview strong{font-size:22px;font-family:var(--serif);font-weight:600}.overview small{font-size:12px;color:var(--muted)}.overview .overview-note{font-size:15px;line-height:1.9}.section{padding-block:88px}.section-heading{margin-bottom:42px}.section-heading>p:last-child:not(.eyebrow){font-size:16px;margin-top:22px;color:var(--muted)}.purpose-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:32px;margin-block:40px 55px}.purpose-grid article{border-top:2px solid #a6bdc3;padding-top:19px}.section-number{color:#6b8d99;font-size:13px;margin-bottom:12px;letter-spacing:.1em}.purpose-grid h3{margin-bottom:12px}.purpose-grid article>p:last-child{font-size:15px;color:var(--muted)}.approach-story{display:grid;grid-template-columns:1fr 1.5fr;gap:65px;padding-top:36px;border-top:1px solid var(--line)}.story-lead{font-family:var(--serif);font-size:25px;line-height:1.8}.approach-story>div{font-size:16px;color:var(--muted)}.approach-story>div p+p{margin-top:14px}.price-section{background:var(--wash);padding-block:68px}.price-layout{display:grid;grid-template-columns:1fr 1fr;gap:75px}.price-layout>div>p:last-child{margin-top:24px;font-size:16px}.price-details dl{margin:0}.price-details dl>div{display:grid;grid-template-columns:1fr 1.4fr;gap:20px;padding-block:23px;border-bottom:1px solid #bacdd0}.price-details dl>div:first-child{padding-top:0}.price-details dt{font-size:15px;padding-top:10px}.price-details dd{font-family:var(--serif);font-size:28px;line-height:1.6;margin:0}.price-details dd.fee{font-size:48px}.price-details dd.fee span{font-size:23px;margin-left:7px}.price-details dd small{display:block;font-family:var(--sans);font-size:13px;color:var(--muted);line-height:1.85;margin-top:6px}.furusato{padding-top:24px}.furusato h3{font-family:var(--sans);font-size:16px;font-weight:700}.furusato p{font-size:14px;margin-top:11px;color:var(--muted)}.furusato a{font-size:14px;font-weight:700;display:inline-block;margin-top:12px}.steps{max-width:860px;padding:0;margin:0;list-style:none}.steps li{display:flex;gap:30px;border-top:1px solid var(--line);padding-block:26px}.step-no{font-family:var(--serif);color:#73939d;font-size:26px;min-width:46px}.steps h3{font-size:22px;margin-bottom:8px}.steps p{font-size:16px;color:var(--muted)}.faq-section{padding-block:66px;background:#f1f1e9}.faq-layout{display:grid;grid-template-columns:1fr 1.8fr;gap:65px}.faqs details{border-bottom:1px solid #cdd5cf;padding-block:19px}.faqs details:first-child{border-top:1px solid #cdd5cf}.faqs summary{list-style:none;position:relative;cursor:pointer;padding-right:36px;font-size:17px;font-weight:500;line-height:1.7}.faqs summary::-webkit-details-marker{display:none}.faqs summary:after{content:'＋';position:absolute;right:3px;color:var(--blue)}.faqs details[open] summary:after{content:'−'}.faqs details p{margin-top:15px;font-size:15px;color:var(--muted);padding-right:24px}.works-section h2{font-size:32px}.schools{display:grid;grid-template-columns:1fr 1fr;gap:36px 44px}.school{border-top:1px solid #b6c6c9;padding-top:22px;min-width:0}.school .year{font-size:12px;color:var(--muted);margin-bottom:6px}.school h3{font-size:21px}.school-memo{font-size:14px;color:var(--muted);margin-top:14px}.media-grid{display:grid;gap:13px;margin-top:20px}.media-grid:has(.video+.video){grid-template-columns:1fr 1fr}.video{min-width:0;aspect-ratio:16/9;background:#e9eeed}.video-load{border:0;width:100%;height:100%;padding:20px 12px;display:flex;align-items:center;justify-content:center;gap:14px;background:linear-gradient(130deg,#e7eeee,#f3f3e9);color:var(--ink);cursor:pointer;font-size:14px}.video-load:hover{background:#d7e4e5}.video-load small{display:block;font-size:11px;color:var(--muted);margin-top:3px}.play{font-size:19px;color:var(--blue)}.video iframe{width:100%;height:100%;border:0;display:block}.audio{background:#edf0eb;padding:18px}.audio p{font-size:13px;margin-bottom:9px}.audio audio{width:100%;display:block;height:40px}.source-links{display:flex;flex-direction:column;align-items:flex-start;gap:5px;margin-top:15px}.source-links a{font-size:12px;color:var(--muted)}.consult-section{background:#e6eeef;padding-block:65px}.consult-layout{display:grid;grid-template-columns:1.35fr 1fr;gap:65px;align-items:center}.consult-layout h2{font-size:32px}.consult-layout>div>p:last-child{font-size:15px;color:var(--muted);margin-top:20px}.consult-action .button{width:100%;font-size:15px;gap:14px}.consult-action>p{font-size:12px!important}.site-footer{padding-block:30px;display:flex;align-items:center;gap:30px;flex-wrap:wrap;font-size:14px}.site-footer p{font-family:var(--serif);font-size:19px}.site-footer p span{display:block;font-family:var(--sans);font-size:11px;color:var(--muted)}.site-footer a{font-size:13px;margin-left:auto}.site-footer small{width:100%;font-size:11px;color:var(--muted);border-top:1px solid var(--line);padding-top:20px}.mobile,.mobile-consult{display:none}.sr-only,.skip{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.skip:focus{position:fixed;top:0;left:0;width:auto;height:auto;clip:auto;z-index:20;background:white;padding:15px}
@media(max-width:950px){.wrap{width:calc(100% - 56px)}.site-header nav{gap:15px}.brand{gap:10px;font-size:21px}.brand span{font-size:11px}.hero{gap:20px}.hero h1{font-size:40px}.hero-art{height:330px}.art-scene{top:110px}.hero-line{font-size:22px}.price-layout,.faq-layout,.consult-layout{gap:36px}.media-grid:has(.video+.video){grid-template-columns:1fr}.overview p+p{padding-left:25px}.overview{gap:20px}}
@media(max-width:680px){html{scroll-padding-top:20px}.wrap{width:calc(100% - 40px)}.review-bar{font-size:11px;justify-content:space-between;gap:10px;padding:8px 15px}.review-version{display:none}.site-header{padding-block:18px}.brand{display:block;font-size:21px;line-height:1.5}.brand span{display:block;margin-top:3px;font-size:10px}.site-header nav{gap:17px;font-size:12px}.site-header nav a:first-child{display:none}.site-header nav .nav-cta{padding:8px 12px}.hero{grid-template-columns:1fr;padding-top:35px;padding-bottom:28px;gap:15px}.hero .eyebrow{font-size:12px;margin-bottom:14px}.hero h1{font-size:36px;line-height:1.55}.hero-line{font-size:22px;margin-top:21px}.hero-description{font-size:15px;margin-top:15px;line-height:1.95}.desktop{display:none}.hero-actions{gap:18px;margin-top:24px}.hero-actions .button{width:100%;font-size:14px;gap:15px}.hero-art{height:210px;max-width:360px;width:100%;margin:0 auto}.sun{width:35px;height:35px;top:16px;right:55px}.cloud-one{top:35px;left:40px}.cloud-two{top:55px;right:0}.art-scene{top:55px;max-width:330px;left:0;right:0;margin:auto}.walkmark{height:125px}.schoolmark{height:118px}.field{bottom:32px;height:48px}.hero-art p{bottom:0;font-size:12px}.overview{grid-template-columns:1fr 1.3fr;gap:16px;padding-block:20px}.overview strong{font-size:21px}.overview p+p{padding-left:20px}.overview .overview-note{grid-column:1/-1;display:block;padding:14px 0 0;border-left:0;border-top:1px solid var(--line);font-size:13px}.overview-note br{display:none}.overview span{font-size:12px}.overview small{font-size:10px}.section{padding-block:54px}.eyebrow{font-size:12px;margin-bottom:15px}.section-heading{margin-bottom:30px}h2{font-size:28px}.purpose-grid{grid-template-columns:1fr;gap:23px;margin-block:25px 35px}.purpose-grid article{padding-top:13px;position:relative;padding-left:38px}.section-number{position:absolute;left:0;top:18px;font-size:12px}.purpose-grid h3{font-size:21px;margin-bottom:8px}.purpose-grid article>p:last-child{font-size:14px}.approach-story{grid-template-columns:1fr;gap:21px;padding-top:27px}.story-lead{font-size:24px}.approach-story>div{font-size:15px}.price-section{padding-block:45px}.price-layout{grid-template-columns:1fr;gap:28px}.price-layout>div>p:last-child{font-size:15px;margin-top:20px}.price-details dt{font-size:14px}.price-details dd.fee{font-size:42px}.price-details dd{font-size:26px}.price-details dd small{font-size:12px}.furusato h3{font-size:15px}.steps li{gap:15px;padding-block:24px}.step-no{font-size:23px;min-width:30px}.steps h3{font-size:20px}.steps p{font-size:15px}.faq-section{padding-block:45px}.faq-layout{grid-template-columns:1fr;gap:25px}.faqs summary{font-size:15px;padding-right:29px}.faqs details p{font-size:14px;padding-right:5px}.schools{grid-template-columns:1fr;gap:32px}.works-section h2{font-size:28px}.section-heading>p:last-child:not(.eyebrow){font-size:14px;margin-top:15px}.school h3{font-size:20px}.school .year{font-size:12px}.school-memo{font-size:14px}.media-grid:has(.video+.video){grid-template-columns:1fr 1fr}.video-load{padding:12px 5px;gap:9px;font-size:12px}.video-load small{font-size:10px}.play{font-size:15px}.source-links a{font-size:12px}.consult-section{padding-block:45px}.consult-layout{grid-template-columns:1fr;gap:25px}.consult-layout h2{font-size:27px}.consult-layout>div>p:last-child{font-size:14px}.consult-action .button{font-size:14px}.site-footer{gap:15px;padding-bottom:105px}.site-footer p{font-size:18px}.site-footer a{font-size:12px}.mobile{display:block}.mobile-consult{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:10;justify-content:space-between;align-items:center;min-height:58px;background:var(--accent);color:#fff;padding:14px 22px calc(14px + env(safe-area-inset-bottom));font-size:14px;font-weight:700;text-decoration:none;border-top:1px solid #fff8}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Publication checks: readable small text, non-overlapping navigation, video fallback. */
.hero-description{margin-top:26px}.video{aspect-ratio:auto;background:none}
.video-screen{aspect-ratio:16/9;background:#e9eeed}
.video-open{display:inline-flex;align-items:center;min-height:44px;font-size:13px;color:var(--muted)}
.overview small,.price-details dd small,.school .year,.source-links a,.site-footer small{font-size:13px}
.video-load small,.site-footer p span{font-size:12px}.source-links a{min-height:36px;display:inline-flex;align-items:center}
@media(max-width:680px){.site-header{flex-direction:column;align-items:flex-start;gap:13px}
.brand{display:flex;align-items:baseline;gap:12px}.brand span{font-size:12px}
.site-header nav{width:100%;justify-content:space-between;gap:10px;font-size:14px}
.site-header nav a{min-height:44px;display:inline-flex;align-items:center}
.site-header nav a:first-child{display:none}.site-footer p span,.site-footer small{font-size:12px}
.overview small{font-size:12px}.video-load small{font-size:12px}.source-links a{font-size:13px}}
