:root{--green-900:#2f4a3c;--green-700:#456b56;--green-600:#5a8169;--green-300:#a8c3b1;--green-100:#e3ece5;--green-50:#f2f7f3;--ink:#33403a;--ink-soft:#6a7872;--line:#dfe8e1;--white:#fff;--cream:#fbfcfa;--gold:#c0a77b;--line-green:#06c755;--shadow:0 2px 20px #2f4a3c12;--shadow-lg:0 10px 40px #2f4a3c1a;--serif:"Hiragino Mincho ProN","Yu Mincho","YuMincho",serif;--sans:"Hiragino Sans","Hiragino Kaku Gothic ProN","Yu Gothic","Noto Sans JP",sans-serif}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;scroll-padding-top:64px}body{font-family:var(--sans);color:var(--ink);letter-spacing:.03em;-webkit-font-smoothing:antialiased;background-color:#fdfefd;background-image:url(/img/pattern.svg);background-size:180px 180px;background-attachment:fixed;font-size:15px;line-height:1.9;overflow-x:hidden}img{max-width:100%;height:auto;display:block}a{color:inherit;text-decoration:none}.wrap{width:100%;max-width:980px;margin:0 auto;padding:0 22px}.narrow{max-width:760px}.reveal{opacity:0;transition:opacity .9s,transform .9s;transform:translateY(24px)}.reveal.on{opacity:1;transform:none}@media (prefers-reduced-motion:reduce){.reveal{opacity:1;transition:none;transform:none}html{scroll-behavior:auto}}.hd{z-index:100;background:#fff0;border-bottom:1px solid #0000;transition:background .4s,box-shadow .4s,border-color .4s;position:fixed;top:0;left:0;right:0}.hd.solid{-webkit-backdrop-filter:saturate(180%)blur(12px);border-bottom-color:var(--line);background:#fffffff5}.hd-in{justify-content:space-between;align-items:center;max-width:1120px;height:64px;margin:0 auto;padding:0 22px;display:flex}.logo{flex-direction:column;line-height:1.15;display:flex}.logo b{font-family:var(--serif);letter-spacing:.12em;color:var(--white);font-size:19px;font-weight:600;transition:color .4s}.logo span{letter-spacing:.22em;color:#fffc;font-size:9.5px;transition:color .4s}.hd.solid .logo b{color:var(--green-900)}.hd.solid .logo span{color:var(--ink-soft)}.nav{align-items:center;gap:26px;display:flex}.nav a{letter-spacing:.1em;color:var(--white);padding-bottom:3px;font-size:12.5px;transition:color .4s,opacity .2s;position:relative}.hd.solid .nav a{color:var(--green-900)}.nav a:after{content:"";background:currentColor;width:0;height:1px;transition:width .3s;position:absolute;bottom:0;left:0}.nav a:hover:after{width:100%}.nav .cta{background:var(--line-green);letter-spacing:.06em;border-radius:999px;padding:9px 20px;font-size:12.5px;font-weight:600;transition:transform .2s,box-shadow .2s;box-shadow:0 2px 10px #06c7554d;color:#fff!important}.nav .cta:after{display:none}.nav .cta:hover{transform:translateY(-1px);box-shadow:0 5px 16px #06c75566}.burger{cursor:pointer;background:0 0;border:0;width:36px;height:36px;display:none;position:relative}.burger i{background:var(--white);border-radius:2px;width:22px;height:1.5px;transition:all .35s;position:absolute;left:7px}.hd.solid .burger i{background:var(--green-900)}.burger i:first-child{top:12px}.burger i:nth-child(2){top:18px}.burger i:nth-child(3){top:24px}.burger.x i{background:var(--green-900)!important}.burger.x i:first-child{top:18px;transform:rotate(45deg)}.burger.x i:nth-child(2){opacity:0}.burger.x i:nth-child(3){top:18px;transform:rotate(-45deg)}.drawer{z-index:99;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--line);background:#fffffffc;max-height:0;transition:max-height .45s cubic-bezier(.4,0,.2,1);position:fixed;inset:64px 0 auto;overflow:hidden}.drawer.open{max-height:460px}.drawer ul{padding:10px 22px 24px;list-style:none}.drawer li{border-bottom:1px solid var(--line)}.drawer li:last-child{border:0}.drawer a{letter-spacing:.08em;color:var(--green-900);padding:15px 2px;font-size:14px;display:block}.drawer .dcta{background:var(--line-green);color:#fff;text-align:center;border-radius:999px;margin-top:16px;padding:14px;font-weight:600}.hero{text-align:center;justify-content:center;align-items:center;min-height:100svh;display:flex;position:relative;overflow:hidden}.hero-bg{position:absolute;inset:0}.hero-bg img{object-fit:cover;object-position:center 58%;width:100%;height:100%;animation:24s ease-out forwards slowzoom}@keyframes slowzoom{0%{transform:scale(1.1)}to{transform:scale(1)}}.hero-bg:after{content:"";background:linear-gradient(#1e302785 0%,#1e30274d 42%,#1e30279e 100%);position:absolute;inset:0}.hero-in{z-index:2;color:#fff;padding:90px 22px 110px;position:relative}.hero-sub{letter-spacing:.4em;opacity:.9;margin-bottom:26px;font-size:11px;animation:1.1s .25s both fadeUp}.hero h1{font-family:var(--serif);letter-spacing:.14em;text-shadow:0 2px 24px #0000004d;font-size:clamp(27px,7vw,48px);font-weight:500;line-height:1.75;animation:1.2s .45s both fadeUp}.hero h1 small{letter-spacing:.2em;opacity:.94;margin-top:18px;font-size:.62em;display:block}.hero-lead{letter-spacing:.1em;opacity:.95;margin-top:34px;font-size:13.5px;line-height:2.3;animation:1.2s .75s both fadeUp}.hero-tags{flex-wrap:wrap;justify-content:center;gap:9px;margin-top:34px;animation:1.2s 1s both fadeUp;display:flex}.hero-tags span{letter-spacing:.14em;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#ffffff1a;border:1px solid #ffffff80;border-radius:999px;padding:7px 15px;font-size:10.5px}@keyframes fadeUp{0%{opacity:0;transform:translateY(26px)}to{opacity:1;transform:none}}.scroll-hint{z-index:3;color:#ffffffd9;letter-spacing:.3em;flex-direction:column;align-items:center;gap:10px;font-size:9px;animation:1.2s 1.3s both fadeUp;display:flex;position:absolute;bottom:26px;left:50%;transform:translate(-50%)}.scroll-hint i{background:#fff9;width:1px;height:44px;display:block;position:relative;overflow:hidden}.scroll-hint i:after{content:"";background:#fff;width:1px;height:44px;animation:2.4s ease-in-out infinite drop;position:absolute;top:-44px;left:0}@keyframes drop{0%{top:-44px}60%,to{top:44px}}.sec{padding:92px 0}.sec.tint{background:#e2ede5b8}.sec.cream{background:#fafcf9cc}.sec-head{text-align:center;margin-bottom:52px}.sec-head .en{letter-spacing:.4em;color:var(--green-600);margin-bottom:14px;font-size:10px;font-weight:600;display:block}.sec-head h2{font-family:var(--serif);letter-spacing:.14em;color:var(--green-900);font-size:clamp(21px,4.6vw,30px);font-weight:500;line-height:1.6}.sec-head .note{color:var(--ink-soft);letter-spacing:.06em;margin-top:16px;font-size:13px;line-height:2.1}.rule{background:var(--gold);width:34px;height:1px;margin:20px auto 0}.concept-grid{grid-template-columns:1fr 1fr;align-items:center;gap:52px;display:grid}.concept-txt p{letter-spacing:.07em;font-size:14px;line-height:2.5}.concept-txt p+p{margin-top:22px}.concept-txt .big{font-family:var(--serif);color:var(--green-900);letter-spacing:.1em;margin-bottom:26px;font-size:clamp(18px,3.4vw,23px);line-height:2}.concept-img{position:relative}.concept-img img{box-shadow:var(--shadow-lg);border-radius:3px}.concept-img:before{content:"";border:1px solid var(--green-300);z-index:-1;border-radius:3px;position:absolute;inset:-14px -14px 14px 14px}.promise{grid-template-columns:repeat(3,1fr);gap:20px;display:grid}.promise li{border:1px solid var(--line);text-align:center;background:#fff;border-radius:3px;padding:38px 26px;list-style:none;transition:transform .4s,box-shadow .4s,border-color .4s}.promise li:hover{box-shadow:var(--shadow-lg);border-color:var(--green-300);transform:translateY(-5px)}.promise .no{font-family:var(--serif);letter-spacing:.3em;color:var(--gold);margin-bottom:16px;font-size:11px;display:block}.promise h3{font-family:var(--serif);color:var(--green-900);letter-spacing:.1em;margin-bottom:14px;font-size:16.5px;font-weight:500;line-height:1.7}.promise p{color:var(--ink-soft);letter-spacing:.04em;font-size:13px;line-height:2.1}.mcat{margin-bottom:46px}.mcat-ttl{align-items:center;gap:14px;margin-bottom:20px;display:flex}.mcat-ttl span{font-family:var(--serif);letter-spacing:.14em;color:var(--green-900);white-space:nowrap;font-size:17px}.mcat-ttl:after{content:"";background:var(--line);flex:1;height:1px}.mitem{border:1px solid var(--line);background:#fff;border-radius:3px;margin-bottom:14px;padding:26px 28px;transition:border-color .35s,box-shadow .35s}.mitem:hover{border-color:var(--green-300);box-shadow:var(--shadow)}.mitem-top{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:16px;display:flex}.mitem h4{color:var(--green-900);letter-spacing:.07em;font-size:15.5px;font-weight:600;line-height:1.6}.mitem .desc{color:var(--ink-soft);letter-spacing:.04em;margin-top:12px;font-size:12.5px;line-height:2.05}.prices{flex-wrap:wrap;gap:8px;margin-top:16px;display:flex}.prices li{letter-spacing:.04em;background:var(--green-50);border:1px solid var(--line);color:var(--green-700);white-space:nowrap;border-radius:999px;padding:6px 15px;font-size:12.5px;list-style:none}.prices li b{color:var(--green-900);margin-left:5px;font-weight:700}.prices li.mem{background:var(--green-900);border-color:var(--green-900);color:#fff}.prices li.mem b{color:#fff}.prices li.opt{background:#fff}.member{background:linear-gradient(135deg,var(--green-900)0%,var(--green-700)100%);color:#fff;text-align:center;border-radius:4px;padding:52px 40px;position:relative;overflow:hidden}.member:before{content:"";background:#ffffff0d;border-radius:50%;width:210px;height:210px;position:absolute;top:-70px;right:-70px}.member:after{content:"";background:#ffffff0a;border-radius:50%;width:240px;height:240px;position:absolute;bottom:-90px;left:-60px}.member>*{z-index:1;position:relative}.member .en{letter-spacing:.4em;opacity:.75;font-size:10px}.member h3{font-family:var(--serif);letter-spacing:.14em;margin:16px 0 22px;font-size:clamp(20px,4.4vw,27px);font-weight:500}.member .price{font-family:var(--serif);letter-spacing:.04em;font-size:clamp(34px,8vw,50px);line-height:1.2}.member .price small{letter-spacing:.14em;opacity:.85;margin-left:8px;font-size:.32em}.member .mdesc{letter-spacing:.07em;opacity:.94;margin-top:24px;font-size:13.5px;line-height:2.2}.member .mnote{opacity:.72;letter-spacing:.05em;margin-top:20px;font-size:11.5px;line-height:2}.voices{grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:20px;display:grid}.voice{border:1px solid var(--line);background:#fff;border-radius:3px;padding:34px 28px;transition:transform .4s,box-shadow .4s;position:relative}.voice:hover{box-shadow:var(--shadow-lg);transform:translateY(-4px)}.voice:before{content:"“";font-family:var(--serif);color:var(--green-100);font-size:56px;line-height:1;position:absolute;top:12px;left:22px}.voice .stars{color:var(--gold);letter-spacing:.18em;margin-bottom:16px;font-size:13px;position:relative}.voice p{letter-spacing:.05em;font-size:13.5px;line-height:2.2;position:relative}.voice .who{color:var(--ink-soft);letter-spacing:.08em;text-align:right;margin-top:20px;font-size:11.5px}.voice-foot{text-align:center;color:var(--ink-soft);letter-spacing:.06em;margin-top:34px;font-size:12.5px}.voice-foot b{color:var(--green-900);font-size:15px}.about-grid{grid-template-columns:1fr 1.15fr;align-items:center;gap:48px;display:grid}.about-grid img{box-shadow:var(--shadow-lg);border-radius:3px}.about-txt .nm{font-family:var(--serif);color:var(--green-900);letter-spacing:.12em;margin-bottom:8px;font-size:21px}.about-txt .role{letter-spacing:.22em;color:var(--gold);margin-bottom:24px;font-size:11px}.about-txt p{letter-spacing:.06em;font-size:13.5px;line-height:2.4}.about-txt p+p{margin-top:18px}.info{border-top:1px solid var(--line)}.info dl{border-bottom:1px solid var(--line);grid-template-columns:140px 1fr;gap:16px;padding:20px 4px;display:grid}.info dt{letter-spacing:.14em;color:var(--green-700);padding-top:2px;font-size:12px;font-weight:600}.info dd{letter-spacing:.05em;font-size:13.5px;line-height:2.1}.info dd small{color:var(--ink-soft);margin-top:5px;font-size:11.5px;line-height:1.95;display:block}.map{border:1px solid var(--line);border-radius:3px;margin-top:30px;line-height:0;overflow:hidden}.map iframe{border:0;width:100%;height:300px}.faq details{border:1px solid var(--line);background:#fff;border-radius:3px;margin-bottom:11px;transition:border-color .3s;overflow:hidden}.faq details[open]{border-color:var(--green-300)}.faq summary{cursor:pointer;color:var(--green-900);letter-spacing:.05em;padding:20px 52px 20px 24px;font-size:13.5px;font-weight:600;line-height:1.8;list-style:none;position:relative}.faq summary::-webkit-details-marker{display:none}.faq summary:before{content:"Q.";color:var(--gold);font-family:var(--serif);margin-right:9px}.faq summary:after{content:"";border-right:1.5px solid var(--green-600);border-bottom:1.5px solid var(--green-600);width:9px;height:9px;margin-top:-6px;transition:transform .3s;position:absolute;top:50%;right:24px;transform:rotate(45deg)}.faq details[open] summary:after{margin-top:-2px;transform:rotate(-135deg)}.faq .ans{color:var(--ink-soft);letter-spacing:.04em;padding:0 24px 22px;font-size:13px;line-height:2.2}.cta-sec{text-align:center;background:linear-gradient(#e2ede5b8 0%,#ffffff8c 100%);padding:92px 0}.qr-grid{grid-template-columns:1fr 1fr;gap:18px;margin-top:30px;display:grid}.qr{border:1px solid var(--line);text-align:center;background:#fff;border-radius:3px;padding:22px 18px 20px}.qr img{border:1px solid var(--line);border-radius:2px;width:100%;max-width:160px;margin:0 auto 14px}.qr b{color:var(--green-900);letter-spacing:.07em;margin-bottom:5px;font-size:13.5px;display:block}.qr span{color:var(--ink-soft);letter-spacing:.04em;font-size:11px;line-height:1.9;display:block}.qr-lead{color:var(--ink-soft);letter-spacing:.06em;margin-top:34px;font-size:12.5px;line-height:2}.policy{border:1px solid var(--line);border-left:3px solid var(--gold);text-align:left;background:#fff;border-radius:3px;margin-top:26px;padding:24px 26px}.policy h4{color:var(--green-900);letter-spacing:.1em;margin-bottom:12px;font-size:13px;font-weight:700}.policy ul{list-style:none}.policy li{color:var(--ink-soft);letter-spacing:.04em;padding-left:15px;font-size:12.5px;line-height:2.05;position:relative}.policy li:before{content:"";background:var(--green-300);border-radius:50%;width:4px;height:4px;position:absolute;top:13px;left:0}.cta-box{border:1px solid var(--line);box-shadow:var(--shadow-lg);background:#fff;border-radius:4px;max-width:620px;margin:0 auto;padding:52px 36px}.cta-box h2{font-family:var(--serif);color:var(--green-900);letter-spacing:.14em;font-size:clamp(20px,4.4vw,27px);font-weight:500;line-height:1.8}.cta-box p{color:var(--ink-soft);letter-spacing:.06em;margin-top:20px;font-size:13.5px;line-height:2.2}.btns{flex-direction:column;gap:12px;margin-top:34px;display:flex}.btn{letter-spacing:.08em;border-radius:999px;justify-content:center;align-items:center;gap:10px;padding:17px 24px;font-size:14.5px;font-weight:600;transition:transform .2s,box-shadow .2s,background .2s;display:flex}.btn:hover{transform:translateY(-2px)}.btn-line{background:var(--line-green);color:#fff;box-shadow:0 4px 18px #06c75552}.btn-line:hover{box-shadow:0 8px 26px #06c7556b}.btn-ig{color:var(--green-900);border:1.5px solid var(--green-300);background:#fff}.btn-ig:hover{background:var(--green-50)}.btn-tel{background:var(--green-900);color:#fff}.cta-note{color:var(--ink-soft);letter-spacing:.05em;margin-top:24px;font-size:11.5px;line-height:2}.ft{background:var(--green-900);color:#ffffffd1;text-align:center;padding:56px 0 100px}.ft .fl{font-family:var(--serif);letter-spacing:.16em;color:#fff;font-size:21px}.ft .fs{letter-spacing:.26em;opacity:.6;margin-top:8px;font-size:9.5px}.ft .fa{letter-spacing:.05em;margin-top:26px;font-size:12.5px;line-height:2.1}.ft .fnav{flex-wrap:wrap;justify-content:center;gap:8px 24px;margin-top:28px;font-size:12px;display:flex}.ft .fnav a{opacity:.8;transition:opacity .2s}.ft .fnav a:hover{opacity:1}.ft .cp{opacity:.45;letter-spacing:.1em;margin-top:34px;font-size:10.5px}.bar{z-index:90;padding:9px 12px calc(9px + env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-top:1px solid var(--line);background:#fffffff7;gap:8px;display:none;position:fixed;bottom:0;left:0;right:0}.bar a{text-align:center;letter-spacing:.05em;border-radius:999px;flex:1;padding:13px 6px;font-size:13px;font-weight:600}.bar .l{background:var(--line-green);color:#fff}.bar .i{color:var(--green-900);border:1.5px solid var(--green-300);background:#fff}@media (max-width:860px){.concept-grid,.about-grid{grid-template-columns:1fr;gap:36px}.concept-img:before{display:none}.promise,.voices{grid-template-columns:1fr}.about-grid img{max-width:340px;margin:0 auto}}@media (max-width:720px){body{font-size:14.5px}.nav{display:none}.burger{display:block}.bar{display:flex}.ft{padding-bottom:110px}.sec,.cta-sec{padding:68px 0}.sec-head{margin-bottom:38px}.hero-in{padding:80px 22px 130px}.info dl{grid-template-columns:1fr;gap:6px;padding:17px 2px}.mitem{padding:22px 20px}.member{padding:42px 24px}.cta-box{padding:40px 24px}.voice{padding:30px 24px}.qr-grid{gap:12px}.qr{padding:18px 10px 16px}.policy{padding:20px 18px}}
