:root{--cream:#f8f3e9;--cream2:#fffdf8;--green:#435b35;--green2:#6d7b52;--olive:#92976f;--orange:#c8793e;--ink:#2d2b27;--line:#d8c99f;--shadow:0 18px 55px rgba(70,61,43,.10);--radius:24px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:92px}body{margin:0;color:var(--ink);background:var(--cream2);font-family:"Yu Mincho","Hiragino Mincho ProN","Noto Serif JP",serif;line-height:1.8;letter-spacing:.035em;line-break:strict;word-break:normal}.skip{position:absolute;left:-9999px}.skip:focus{left:16px;top:16px;z-index:1000;background:#fff;padding:8px 12px}.section-shell{width:min(1120px,calc(100% - 40px));margin-inline:auto}.site-header{position:sticky;top:0;z-index:50;background:rgba(255,253,248,.92);backdrop-filter:blur(12px);border-bottom:1px solid rgba(216,201,159,.55)}.header-inner{width:min(1180px,calc(100% - 32px));margin:auto;min-height:78px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{text-decoration:none;color:var(--green);display:flex;flex-direction:column;line-height:1}.brand-small{font-size:.72rem;letter-spacing:.15em;color:var(--ink);margin-bottom:6px}.brand-name{font-family:Georgia,"Times New Roman",serif;font-size:2rem;letter-spacing:.04em}.nav{display:flex;align-items:center;gap:22px;font-family:"Yu Gothic","Hiragino Kaku Gothic ProN",sans-serif;font-size:.88rem}.nav a{color:var(--ink);text-decoration:none}.nav a:hover{color:var(--green)}.nav-cta{border:1px solid var(--green);padding:8px 14px;border-radius:999px}.menu-button{display:none;border:1px solid var(--line);background:transparent;border-radius:999px;padding:8px 14px;color:var(--green)}
.hero{min-height:720px;display:grid;grid-template-columns:1.03fr .97fr;align-items:center;gap:48px;padding-block:68px 56px;position:relative}.hero-copy{min-width:0}.hero:before,.hero:after{content:"";position:absolute;width:180px;height:250px;opacity:.14;background:radial-gradient(ellipse at 60% 20%,transparent 45%,var(--green2) 47% 49%,transparent 51%),radial-gradient(ellipse at 40% 45%,transparent 45%,var(--green2) 47% 49%,transparent 51%);z-index:-1}.hero:before{left:-100px;top:70px;transform:rotate(-20deg)}.hero:after{right:-80px;bottom:10px;transform:rotate(155deg)}.eyebrow,.section-kicker{font-family:"Yu Gothic","Hiragino Kaku Gothic ProN",sans-serif;font-weight:600;letter-spacing:.14em;color:var(--green);font-size:.86rem}.hero h1{margin:.2em 0 .45em}.logo-word{display:block;font-family:Georgia,"Times New Roman",serif;font-size:clamp(4.5rem,8.2vw,7.6rem);font-weight:400;color:var(--green);line-height:.88;letter-spacing:-.02em}.hero-line{display:flex;flex-direction:column;align-items:flex-start;margin-top:.38em;font-size:clamp(1.7rem,2.45vw,2.3rem);line-height:1.5;font-weight:500;letter-spacing:.08em}.hero-row{display:flex;flex-wrap:wrap;align-items:baseline;gap:0 .22em}.nowrap{white-space:nowrap}.hero-line em{font-style:normal;color:var(--orange)}.lead{font-size:1rem;margin:0 0 12px;text-wrap:pretty}.message{font-size:1.05rem;font-weight:600;color:var(--green);margin:22px 0 26px;text-wrap:pretty}.hero-actions{display:flex;gap:12px;flex-wrap:wrap}.button{font-family:"Yu Gothic","Hiragino Kaku Gothic ProN",sans-serif;display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:10px 20px;border-radius:999px;text-decoration:none;border:1px solid var(--green);cursor:pointer;font-size:.94rem;transition:.2s;background:white}.button:hover{transform:translateY(-1px);box-shadow:0 8px 20px rgba(67,91,53,.12)}.primary{background:var(--green);color:#fff}.secondary{background:transparent;color:var(--green)}.location-pill{margin-top:24px;display:inline-flex;flex-direction:column;border:1px solid var(--line);background:rgba(248,243,233,.86);padding:10px 18px;border-radius:999px;font-family:"Yu Gothic","Hiragino Kaku Gothic ProN",sans-serif}.location-pill strong{color:var(--green)}.location-pill span{font-size:.78rem}.hero-visual{margin:0;position:relative}.hero-visual:before{content:"";position:absolute;inset:7% -4% -6% 4%;background:#eee8dc;border-radius:46% 54% 42% 58%/47% 43% 57% 53%;z-index:-1}.hero-visual img{width:100%;height:auto;border-radius:42% 58% 34% 66%/41% 38% 62% 59%;mix-blend-mode:multiply;display:block}
.section{padding-block:92px}.section-tint{background:var(--cream)}.section h2{color:var(--green);font-size:clamp(1.6rem,3vw,2.35rem);line-height:1.45;margin:.2em 0 1.5em;font-weight:500;text-wrap:balance}.values-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.value-card{background:rgba(255,255,255,.62);border:1px solid var(--line);border-radius:var(--radius);padding:34px;min-height:260px}.value-card h3,.course-card h3,.flow-grid h3{color:var(--green);font-weight:600;line-height:1.5;text-wrap:balance}.value-card h3{min-height:3em}.value-card p{margin-bottom:0;text-wrap:pretty}.icon{font-size:2.6rem;color:var(--olive);line-height:1;margin-bottom:18px}.icon.people{font-size:1.3rem;letter-spacing:.12em}
.course-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.course-card{position:relative;overflow:hidden;border:1px solid var(--line);border-radius:var(--radius);background:#fff;box-shadow:var(--shadow);display:grid;grid-template-rows:auto 1fr;align-content:start}.course-media{width:100%;aspect-ratio:900/506;overflow:hidden;background:#fdf8ef;border-bottom:1px solid rgba(216,201,159,.35);line-height:0}.course-media img{width:100%;height:100%;object-fit:cover;object-position:center;display:block;margin:0}.course-number{position:absolute;left:16px;top:16px;width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:var(--green);color:white;font:700 1.15rem Georgia,serif;z-index:2;border:4px solid rgba(255,255,255,.8)}.course-body{padding:21px 24px 25px;min-width:0}.course-body h3{margin:0;font-size:1.2rem;min-height:3em}.course-sub{margin:3px 0 14px;color:var(--green2);font-weight:700;font-size:.86rem;line-height:1.6;min-height:2.8em;text-wrap:balance}.course-body ul{list-style:none;padding:0;margin:0;font-size:.94rem}.course-body li{position:relative;padding-left:1.35em;margin:.52em 0;line-height:1.7}.course-body li:before{content:"❧";position:absolute;left:0;color:var(--green2)}
.info-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;max-width:820px;margin-inline:auto}.info-card{border:1px solid var(--line);border-radius:var(--radius);background:rgba(255,255,255,.72);padding:32px 34px;box-shadow:0 12px 32px rgba(80,69,48,.06)}.info-card h2{font-size:1.38rem;margin:.2em 0 .75em;text-wrap:balance}.profile-card{text-align:center}.profile-role{display:flex;flex-direction:column;align-items:center;margin:0 0 8px;color:var(--green);font-family:"Yu Gothic","Hiragino Kaku Gothic ProN",sans-serif;font-size:.86rem;font-weight:700;line-height:1.5;letter-spacing:.07em}.profile-role span:last-child{font-size:1rem;letter-spacing:.12em}.info-card .profile-name{display:flex;justify-content:center;align-items:baseline;gap:.75em;margin:0 0 18px;font-size:1.5rem;line-height:1.35;letter-spacing:.08em;white-space:nowrap}.profile-layout{display:flex;justify-content:center;gap:20px;align-items:center;text-align:left}.profile-layout img{width:108px;height:126px;flex:0 0 auto;object-fit:cover;object-position:center 18%;border-radius:46% 46% 20px 20px;background:#efe8db}.credentials{min-width:0;font-family:"Yu Gothic","Hiragino Kaku Gothic ProN",sans-serif;font-size:.82rem;line-height:1.72;list-style:none;padding:0;margin:0}.credentials li{padding-left:1em;text-indent:-1em}.credentials li:before{content:"•";color:var(--green);margin-right:.5em}.profile-message{border-top:1px solid var(--line);padding-top:16px;margin:18px 0 0;text-align:left;text-wrap:pretty}.price-card{display:flex;flex-direction:column;justify-content:center}.price-card>.section-kicker{margin:0 0 8px}.price-row{display:flex;align-items:baseline;justify-content:space-between;border-bottom:1px dashed var(--line);padding:11px 0}.price-row span{font-size:1.12rem}.price-row strong{color:var(--green);font:600 2.2rem Georgia,"Yu Mincho",serif}.price-row small{font-size:.85rem;margin-left:.25em}.travel{display:flex;flex-direction:column;align-items:center;gap:5px;text-align:center;font-family:"Yu Gothic",sans-serif;font-size:.88rem;line-height:1.7;margin-top:22px}.note{font-size:.78rem;color:#69645b;text-align:center;margin-bottom:0}
.price-card>.section-kicker{text-align:center}
.instagram-button{background:#fff;color:var(--green)}.instagram-button span{font-weight:700;margin-left:.35em}
.flow-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0;list-style:none;padding:0;margin:0}.flow-grid li{position:relative;padding:28px 26px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.flow-grid li+li{border-left:1px dotted var(--line)}.flow-grid li:not(:last-child):after{content:"→";position:absolute;right:-11px;top:44px;color:var(--olive);background:var(--cream2);padding:0 3px;z-index:2}.step{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:var(--green);color:white;font:700 1.1rem Georgia,serif}.flow-grid h3{margin:.8em 0 .5em;font-size:1.1rem}.flow-grid p{font-size:.9rem;margin:0}
.inquiry-section{padding-top:30px;background:linear-gradient(to bottom,var(--cream2),var(--cream))}.inquiry-card{max-width:900px;border:1px solid var(--line);border-radius:30px;background:white;padding:46px;box-shadow:var(--shadow);text-align:center}.inquiry-card h2{margin-bottom:.5em}.inquiry-note{font-size:.9rem;color:#625e56;background:var(--cream);padding:14px 16px;border-radius:14px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}label{display:flex;flex-direction:column;gap:7px;font-family:"Yu Gothic","Hiragino Kaku Gothic ProN",sans-serif;font-size:.88rem;margin-bottom:16px}input,select,textarea{width:100%;border:1px solid #cfc3a5;border-radius:12px;background:#fffdf9;padding:12px 14px;font:inherit;color:var(--ink)}textarea{resize:vertical}.generated{margin-top:24px;background:var(--cream);padding:22px;border-radius:18px}.generated textarea{background:white}.generated-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;margin-top:22px}.copy-status{margin-bottom:0;color:var(--green);font-family:"Yu Gothic",sans-serif;font-size:.88rem}
.closing{background:var(--green);color:white;padding:44px 0}.closing .section-shell{display:flex;align-items:center;justify-content:space-between;gap:22px}.closing p{font-size:1.12rem;letter-spacing:.08em;margin:0}.closing-logo{font:italic 2.5rem Georgia,serif}footer{background:#f0eadf;padding:44px 0 26px;font-family:"Yu Gothic","Hiragino Kaku Gothic ProN",sans-serif}.footer-inner{display:flex;justify-content:space-between;gap:30px}.footer-inner p{margin:.3em 0 0;font-size:.82rem}.footer-inner>div:last-child{display:flex;gap:18px;align-items:center}.footer-inner a{color:var(--green)}.copyright{text-align:center;font-size:.72rem;color:#777066;margin-top:28px}.mobile-cta{display:none}
@media(max-width:950px){.nav{display:none;position:absolute;top:78px;left:16px;right:16px;background:white;border:1px solid var(--line);border-radius:18px;padding:18px;box-shadow:var(--shadow);flex-direction:column;align-items:stretch}.nav.open{display:flex}.menu-button{display:block}.hero{grid-template-columns:1fr;min-height:auto;padding-top:48px}.hero-visual{max-width:650px;margin-inline:auto}.values-grid,.course-grid,.info-grid{grid-template-columns:1fr}.value-card h3,.course-body h3,.course-sub{min-height:auto}.course-card{grid-template-columns:42% 58%;grid-template-rows:1fr}.course-media{height:100%;aspect-ratio:auto;border-bottom:0;border-right:1px solid rgba(216,201,159,.35)}.flow-grid{grid-template-columns:1fr 1fr}.flow-grid li+li{border-left:0}.flow-grid li:nth-child(even){border-left:1px dotted var(--line)}.flow-grid li:not(:last-child):after{display:none}}
@media(max-width:640px){body{padding-bottom:64px}.section-shell{width:min(100% - 28px,1120px)}.header-inner{min-height:68px}.brand-name{font-size:1.65rem}.brand-small{font-size:.61rem}.nav{top:68px}.hero{padding-block:38px 52px;gap:30px}.hero-copy{text-align:center}.logo-word{font-size:4.9rem}.hero-line{align-items:center;font-size:1.5rem;letter-spacing:.06em}.hero-row{justify-content:center}.lead,.message{font-size:.94rem}.desktop-only{display:none}.hero-actions{justify-content:center}.location-pill{border-radius:18px}.section{padding-block:66px}.section h2{font-size:1.65rem}.value-card{padding:28px;min-height:auto}.course-card{display:block}.course-media{height:auto;aspect-ratio:900/506;border-right:0;border-bottom:1px solid rgba(216,201,159,.35)}.course-body{padding:24px}.info-card{padding:26px}.profile-layout{align-items:flex-start}.profile-layout img{width:104px;height:122px}.price-row strong{font-size:2rem}.flow-grid{grid-template-columns:1fr}.flow-grid li:nth-child(even){border-left:0}.flow-grid li{border-bottom:0}.flow-grid li:last-child{border-bottom:1px solid var(--line)}.form-grid{grid-template-columns:1fr}.inquiry-card{padding:28px 22px}.closing .section-shell{flex-direction:column;text-align:center}.footer-inner{flex-direction:column;text-align:center}.footer-inner>div:last-child{justify-content:center}.mobile-cta{display:block;position:fixed;left:0;right:0;bottom:0;z-index:60;padding:8px max(14px,env(safe-area-inset-left)) calc(8px + env(safe-area-inset-bottom));background:rgba(255,253,248,.95);border-top:1px solid var(--line);backdrop-filter:blur(10px)}.mobile-cta a{display:block;text-align:center;background:var(--green);color:white;text-decoration:none;padding:10px;border-radius:999px;font-family:"Yu Gothic",sans-serif;font-size:.9rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button{transition:none}}
