:root{--cream:#fdf8ea;--paper:#fffdf8;--gold:#b89550;--gold-deep:#8c6b2e;--brown:#3d3027;--red:#98271f;--line:#d9c89e;--sans:"Noto Sans JP",sans-serif;--serif:"Noto Serif JP",serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:6rem}body{margin:0;background:var(--cream);color:#332f2a;font-family:var(--serif);font-size:16px;line-height:1.95}img{display:block;max-width:100%}a{color:inherit}.skip-link{position:fixed;left:1rem;top:-5rem;z-index:99;background:#fff;padding:.7rem 1rem}.skip-link:focus{top:1rem}.sample-bar{background:var(--brown);color:#fff;text-align:center;font:500 .78rem/1.5 var(--sans);letter-spacing:.06em;padding:.45rem 1rem}.site-header{position:sticky;top:0;z-index:20;background:rgba(253,248,234,.97);border-bottom:1px solid rgba(140,107,46,.2)}.header-inner{width:min(1180px,calc(100% - 3rem));height:78px;margin:auto;display:flex;align-items:center;gap:2rem}.brand{width:165px}.brand img{width:100%;height:auto}.site-header nav{display:flex;gap:2rem;margin-left:auto;font-size:.85rem}.site-header nav a{text-decoration:none}.header-cta,.button{display:inline-flex;align-items:center;justify-content:center;background:var(--red);color:#fff;text-decoration:none;border-radius:999px;padding:.75rem 1.35rem;font-family:var(--sans);font-weight:600}.breadcrumb{width:min(1180px,calc(100% - 3rem));margin:1rem auto;display:flex;gap:.75rem;font-family:var(--sans);font-size:.75rem;color:#655f57}.hero{width:min(1180px,calc(100% - 3rem));margin:0 auto 6rem}.hero-title{padding:2.3rem 0 2rem;border-bottom:1px solid var(--line)}.hero-title p{margin:0 0 .3rem;color:var(--gold-deep);font-size:.8rem;letter-spacing:.15em}.hero-title h1{margin:0;font-size:clamp(2rem,4.5vw,3.6rem);font-weight:500;line-height:1.4}.hero-title span{display:block;width:7rem;height:2px;background:var(--gold);margin-top:1.1rem}.hero-grid{display:grid;grid-template-columns:.9fr 1.1fr;align-items:center;margin-top:3rem;background:var(--paper);border:1px solid var(--line)}.hero-copy{padding:clamp(2rem,5vw,4.5rem)}.eyebrow{font-size:1.45rem;font-weight:600}.provisional{font-family:var(--sans);font-size:.84rem;background:#f2ead7;padding:.8rem 1rem;border-left:3px solid var(--gold);margin:1.5rem 0}.hero-grid figure{margin:0}.hero-grid img{width:100%;height:auto;aspect-ratio:16/9;object-fit:contain;background:#e8dfd1}.container{width:min(1000px,calc(100% - 3rem));margin:auto}.narrow{width:min(820px,calc(100% - 3rem))}.section{padding:6.5rem 0}.tone{background:#f5eddd}.intro-grid{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center}.intro-grid figure{margin:0}.intro-grid img{width:100%;height:auto;object-fit:contain}.line-title{font-size:1.65rem;font-weight:600;border-bottom:1px solid #ded6c4;padding-bottom:.65rem;position:relative}.line-title::after{content:"";position:absolute;left:0;bottom:-1px;width:30%;height:2px;background:var(--gold)}.band-title{margin:0 0 2.2rem;background:#8c6b2e;color:#fff;border-top:3px double #fff;border-bottom:3px double #fff;padding:1rem 1.4rem;font-size:1.45rem;font-weight:600;letter-spacing:.05em}.section-lead{margin:0 1rem 3rem;max-width:48rem}.course-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem}.course-grid article{background:var(--paper);border:1px solid var(--line);padding:2rem 1.5rem}.course-num{width:3rem;height:3rem;border:1px solid var(--gold);border-radius:50%;display:grid;place-items:center;color:var(--gold-deep);margin:0 auto 1rem}.course-grid h3{text-align:center;margin:.5rem 0 1.5rem;font-size:1.25rem}.course-grid dl{margin:0}.course-grid dl div{border-top:1px solid #e4dac0;padding:.8rem 0}.course-grid dt{color:var(--gold-deep);font-weight:600;font-size:.86rem}.course-grid dd{margin:.1rem 0 0;font-size:.9rem}.course-grid article>a{display:block;margin-top:1.5rem;text-align:center;color:var(--red);font-family:var(--sans);font-weight:600}.step-list,.flow-list{list-style:none;padding:0;margin:0}.step-list{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.step-list li{background:var(--paper);border-top:3px solid var(--gold);padding:1.6rem}.step-list span{color:var(--gold-deep);font-size:.8rem;letter-spacing:.1em}.step-list h3{margin:.5rem 0}.step-list p{margin:0;font-size:.9rem}.support-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem}.support-grid article{border:1px solid var(--line);background:var(--paper);padding:2rem;text-align:center}.support-grid span{color:var(--gold-deep);font-weight:600}.support-grid h3{font-size:1.05rem}.support-grid p{font-size:.9rem}.narrow details{border-bottom:1px solid var(--line);background:var(--paper);padding:1.1rem 1.3rem}.narrow details:first-of-type{border-top:1px solid var(--line)}summary{cursor:pointer;font-weight:600}.narrow details p{font-family:var(--sans);font-size:.9rem}.flow-list{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}.flow-list li{position:relative;text-align:center;padding:1rem}.flow-list li:not(:last-child)::after{content:"›";position:absolute;right:-.8rem;top:1.35rem;color:var(--gold);font-size:2rem}.flow-list span{width:3.8rem;height:3.8rem;border:1px solid var(--gold);border-radius:50%;display:grid;place-items:center;margin:0 auto 1rem;color:var(--gold-deep);font-weight:600}.flow-list h3{font-size:1rem;margin:0}.flow-list p{font-size:.85rem;line-height:1.7}.contact{background:url('../assets/brand-01.webp') center/cover no-repeat}.contact-overlay{padding:6rem 1.5rem;text-align:center;background:rgba(253,248,234,.88)}.contact h2{font-size:1.6rem;margin:0}.dots{color:var(--red);letter-spacing:.5rem;margin:1rem 0}.contact-actions{display:flex;justify-content:center;gap:1rem;margin:2rem 0}.contact button{border:1px solid var(--red);background:var(--red);color:#fff;border-radius:999px;padding:1rem 1.6rem;font:600 .95rem/1 var(--sans);cursor:pointer}.contact button.secondary{background:transparent;color:var(--red)}#demoMessage{font-family:var(--sans);font-size:.82rem}footer{background:#5a492f;color:#fff;text-align:center;padding:2.5rem 1rem}footer img{filter:brightness(0) invert(1);width:145px;margin:0 auto 1rem}footer small{font-family:var(--sans)}
@media(max-width:820px){.site-header nav{display:none}.header-inner{height:68px;width:calc(100% - 2rem)}.brand{width:130px}.header-cta{margin-left:auto;padding:.65rem 1rem;font-size:.82rem}.hero,.breadcrumb{width:calc(100% - 2rem)}.hero{margin-bottom:3rem}.hero-title{padding:1.7rem 0 1.4rem}.hero-grid{grid-template-columns:1fr;margin-top:2rem}.hero-grid figure{order:-1}.hero-copy{padding:2rem 1.25rem 2.5rem}.container,.narrow{width:calc(100% - 2rem)}.section{padding:4.5rem 0}.intro-grid{grid-template-columns:1fr;gap:2rem}.course-grid,.step-list,.support-grid{grid-template-columns:1fr}.course-grid{gap:1rem}.flow-list{grid-template-columns:1fr;text-align:left}.flow-list li{display:grid;grid-template-columns:4rem 1fr;column-gap:1rem;text-align:left}.flow-list li:not(:last-child)::after{content:"⌄";right:auto;left:1.45rem;top:auto;bottom:-1.1rem}.flow-list span{grid-row:1/3;margin:0}.flow-list h3{margin-top:.3rem}.flow-list p{margin:.3rem 0}.contact-actions{flex-direction:column;align-items:center}.contact button{width:min(100%,19rem)}}
@media(max-width:390px){body{font-size:16px}.sample-bar{font-size:.72rem}.hero-title h1{font-size:2rem}.eyebrow{font-size:1.25rem}.band-title{font-size:1.25rem;padding:.9rem 1rem}.section-lead{margin-left:0;margin-right:0}.contact-overlay{padding:4.5rem 1rem}}
