:root{--green:#075b48;--deep:#103c34;--gold:#c2a35c;--cream:#f5f2e8;--ink:#28312e;--line:#d8ddd9}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font-family:"Yu Gothic","Hiragino Kaku Gothic ProN",Meiryo,sans-serif;line-height:1.8}.header{height:76px;display:flex;align-items:center;justify-content:space-between;padding:0 max(24px,calc((100% - 1120px)/2));background:#fff}.logo{display:flex;flex-direction:column;color:var(--deep);text-decoration:none}.logo strong{font-family:Georgia,serif;font-size:24px;letter-spacing:.1em}.logo span{font-size:9px;letter-spacing:.14em}.head-cta{background:var(--green);color:#fff;padding:10px 24px;text-decoration:none;font-weight:700}.hero{height:630px;position:relative;display:grid;place-items:center;overflow:hidden;color:#fff}.hero>img{position:absolute;width:100%;height:100%;object-fit:cover}.shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(6,36,30,.84),rgba(6,36,30,.28) 64%,rgba(6,36,30,.08))}.hero-copy{position:relative;width:min(1080px,calc(100% - 48px));margin:auto}.hero-copy>p{letter-spacing:.14em;margin:0}.hero h1{font-family:"Yu Mincho",serif;font-weight:500;font-size:52px;line-height:1.45;margin:10px 0 24px}.hero h2{font-size:22px;line-height:1.7;margin:0 0 30px}.button{display:inline-flex;align-items:center;justify-content:center;min-height:58px;padding:12px 34px;text-decoration:none;font-weight:700}.gold{background:var(--gold);color:#fff}.hero-copy small{display:block;margin-top:9px}.numbers{display:grid;grid-template-columns:repeat(3,1fr);max-width:860px;margin:-38px auto 0;position:relative;background:#fff;box-shadow:0 8px 28px #16392f24}.numbers div{padding:20px;text-align:center;border-right:1px solid var(--line)}.numbers div:last-child{border:0}.numbers strong{font-family:Georgia,serif;font-size:38px;color:var(--green);margin-right:10px}.numbers span{font-size:14px}.section{width:min(1040px,calc(100% - 40px));margin:auto;padding:90px 0}.en{font-family:Georgia,serif;color:var(--gold);font-size:13px;letter-spacing:.18em;margin:0 0 5px}.section h2,.program h2,.future h2,.faq h2{font-family:"Yu Mincho",serif;color:var(--deep);font-size:35px;font-weight:500;line-height:1.55;margin:0 0 25px}.intro{text-align:center}.intro>p:not(.en){max-width:720px;margin:0 auto 40px}.intro img{width:100%;max-height:500px;object-fit:cover}.two{display:grid;grid-template-columns:1fr 1fr;gap:22px}.two article{border:1px solid var(--line);padding:34px;background:#fff}.two span{color:var(--gold);font-family:Georgia,serif}.two h3{font-family:"Yu Mincho",serif;color:var(--deep);font-size:24px}.two a,.detail a,.official{color:var(--green);font-weight:700;text-decoration:none;border-bottom:1px solid}.program{background:var(--cream)}.program-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.program-grid article{padding:27px 22px;background:#fff;border-top:4px solid #8ea79e}.program-grid article.academy{background:var(--deep);color:#fff;border-color:var(--gold)}.program-grid b{font-family:Georgia,serif;color:var(--gold);font-size:12px;letter-spacing:.12em}.program-grid h3{font-family:"Yu Mincho",serif;font-size:20px;color:var(--deep)}.program-grid .academy h3{color:#fff}.detail{text-align:right;margin:26px 0 0}.philosophy{background:var(--deep);color:#fff;padding:80px max(30px,calc((100% - 1040px)/2));display:grid;grid-template-columns:1fr 1.2fr;gap:70px}.philosophy h2{font-family:"Yu Mincho",serif;font-size:34px;font-weight:500;line-height:1.6;margin:8px 0}.stories{display:grid;grid-template-columns:1fr 1fr;gap:22px}.stories article{border:1px solid var(--line)}.stories img{display:block;width:100%;height:320px;object-fit:cover}.stories article div{padding:24px}.stories span{font-family:Georgia,serif;color:var(--gold);font-size:12px;letter-spacing:.12em}.stories h3{font-family:"Yu Mincho",serif;color:var(--deep);font-size:21px}.voice{background:#eef2ef;text-align:center}.voice blockquote{font-family:"Yu Mincho",serif;color:var(--deep);font-size:27px;max-width:800px;margin:25px auto;padding:30px;border-top:1px solid var(--gold);border-bottom:1px solid var(--gold)}.voice small{color:#6d7471}.faq{max-width:860px}.faq details{border-bottom:1px solid var(--line)}.faq summary{cursor:pointer;font-weight:700;color:var(--deep);padding:20px 42px 20px 50px;position:relative}.faq summary:before{content:"Q";position:absolute;left:12px;top:11px;color:var(--gold);font-family:Georgia,serif;font-size:25px}.faq details p{padding:0 20px 20px 50px;margin:0}.trial{background:var(--deep);color:#fff;text-align:center;padding:85px 24px}.trial>p{color:#e4d3a1}.trial h2{font-family:"Yu Mincho",serif;font-size:36px;font-weight:500;line-height:1.55}.actions{display:flex;justify-content:center;gap:14px;margin:30px 0 14px}.phone{display:flex;flex-direction:column;justify-content:center;min-width:300px;background:#fff;color:var(--deep);text-decoration:none;padding:8px 25px}.phone strong{font-family:Georgia,serif;font-size:25px}.actions .button{min-width:300px}.trial .trial-note{font-size:13px;color:#fff}.official{display:inline-block;color:#fff;margin-top:28px;font-size:14px}footer{display:flex;justify-content:space-between;gap:20px;padding:30px max(24px,calc((100% - 1040px)/2));font-size:13px;background:#e9ebe9;color:#52605b}.mobile-cta{display:none}
@media(max-width:720px){body{padding-bottom:58px}.header{height:64px;padding:0 15px}.logo strong{font-size:18px}.head-cta{display:none}.hero{height:600px}.hero>img{object-position:center}.shade{background:linear-gradient(rgba(5,35,29,.55),rgba(5,35,29,.86))}.hero-copy{text-align:center}.hero h1{font-size:35px}.hero h2{font-size:18px}.numbers{margin:-24px 14px 0}.numbers div{padding:14px 5px}.numbers strong{display:block;font-size:30px;margin:0}.numbers span{font-size:11px}.section{padding:65px 0}.section h2,.program h2,.future h2,.faq h2{font-size:28px}.two,.program-grid,.stories,.philosophy{grid-template-columns:1fr}.philosophy{padding:60px 25px;gap:20px}.philosophy h2{font-size:29px}.stories img{height:auto}.voice blockquote{font-size:21px;padding:24px 10px}.actions{flex-direction:column;align-items:center}.actions a{width:min(100%,360px)}.trial h2{font-size:29px}footer{flex-direction:column}.mobile-cta{position:fixed;display:grid;grid-template-columns:1fr 1.4fr;bottom:0;left:0;right:0;z-index:10;height:58px}.mobile-cta a{display:grid;place-items:center;text-decoration:none;color:#fff;font-weight:700;background:#4d5e59}.mobile-cta a:last-child{background:var(--gold)}}
