:root{--ink:#0f201c;--green:#002c20;--sage:#667e69;--pale:#eff4f1;--line:#cdd8d1;--serif:'Yu Mincho','Hiragino Mincho ProN','Noto Serif JP',serif;--sans:'Yu Gothic',Meiryo,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:76px}body{margin:0;color:var(--ink);background:#1c2c30;font-family:var(--serif);font-size:14px;line-height:1.75;padding-bottom:calc(80px + env(safe-area-inset-bottom));overflow-wrap:anywhere}.mobile-shell{max-width:430px;margin:auto;background:#fff}a{color:inherit;text-decoration:none}button,input{font:inherit}button{cursor:pointer}button:disabled{cursor:default}h1,h2,h3,h4,p,figure,ul,ol{margin:0}h1,h2,h3,h4{font-weight:600}ul,ol{padding:0;list-style:none}a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid #bd8b29;outline-offset:3px}img{display:block;width:100%;max-width:100%;object-fit:cover}.skip{position:fixed;top:-100px;z-index:50;background:white;padding:12px}.skip:focus{top:0}header{position:sticky;top:0;z-index:10;height:58px;padding:5px 15px;display:flex;gap:12px;align-items:center;background:linear-gradient(100deg,#eff8f7f7,#fffffff7)}.logo{font-family:var(--sans);font-weight:600;letter-spacing:.23em;font-size:22px;line-height:1.2;min-height:44px;display:flex;flex-direction:column;justify-content:center;flex-shrink:0}.logo small{font-size:5.8px;letter-spacing:.28em;margin-top:4px}.header-book{margin-left:auto!important;min-height:44px!important;font-size:10px!important;width:auto!important;padding:7px 15px!important}.menu-toggle{height:44px;width:44px;flex-shrink:0;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:6px;background:none;border:0;padding:7px}.menu-toggle span{height:2px;width:25px;background:var(--ink)}.cta{min-height:44px;width:100%;display:flex;justify-content:center;align-items:center;gap:12px;padding:10px 16px;border:1px solid var(--green);border-radius:999px;background:var(--green);color:#fff;text-align:center;line-height:1.4;font-family:var(--serif);font-size:15px;letter-spacing:.04em}.cta span{font-family:var(--sans)}.cta.line{background:white;color:var(--green)}.pending{color:#627069;background:#f1f3f1;border:1px dashed #9caaa0;opacity:1}.pending small{font-family:var(--sans);font-size:9px;letter-spacing:0;background:#e3e9e4;padding:3px 5px;border-radius:3px}.actions{display:grid;gap:10px;margin:16px auto 0;max-width:330px}.hero{position:relative;min-height:460px;padding:15px 18px 24px;isolation:isolate;background:linear-gradient(155deg,#e2f1f7 0%,#faf5e6 46%,#c7ccad 100%);overflow:hidden}.hero-photo{position:absolute;width:43%;height:100%;right:0;top:0;z-index:-2;object-fit:cover;object-position:center}.hero-wash{position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#f2f8f6bb 0%,#f9f7efb0 40%,#f6f5e936 63%,transparent 80%)}.hero-copy{position:relative;z-index:1}.hero h1{font-size:23px;line-height:1.32;letter-spacing:.01em;max-width:90%;font-weight:600}.hero-rule{display:block;width:28px;height:1px;background:var(--ink);margin:14px 0 12px}.hero-question{font-size:15px;font-weight:600;line-height:1.6}.hero-intro{font-size:11px;margin-top:10px;max-width:85%}.service-nav{display:flex;flex-wrap:wrap;align-items:center;column-gap:4px;max-width:235px;margin-top:4px;font-size:11px;line-height:1.25}.service-nav a{display:inline-flex;align-items:center;min-height:44px}.service-nav a:last-child{flex-basis:100%;margin-top:-15px}.service-nav>span:last-of-type{display:none}.hero-actions{max-width:220px;display:grid;gap:8px;margin-top:4px}.hero-actions .cta{font-size:13px}.hero-vertical{writing-mode:vertical-rl;position:absolute;right:15px;top:12px;height:130px;font-size:12px;letter-spacing:.06em;line-height:1.5}.hero-bottom{display:flex;justify-content:space-between;font-family:var(--sans);font-size:9px;letter-spacing:.12em;line-height:1.4;margin-top:15px}.hero-bottom>span:last-child{color:white;text-shadow:0 1px 2px #0008;font-weight:600}.section{padding:24px 18px 20px;background:linear-gradient(145deg,#fff,#fcfdfc);scroll-margin-top:8px}.eyebrow{font-family:var(--sans);font-size:10px;letter-spacing:.19em;display:flex;align-items:center;gap:12px;margin-bottom:13px;min-height:15px}.eyebrow i{width:44px;height:1px;background:#85958b}.eyebrow span{font-family:var(--serif);letter-spacing:0;font-size:11px}.section h2{font-size:29px;line-height:1.42;letter-spacing:.03em;margin-bottom:14px}.section .intro{font-size:13px;line-height:1.7;margin-bottom:20px}.services{padding:18px 12px 16px}.service-intro{padding:0 23px}.service-intro h2{font-size:24px;line-height:1.35;margin-bottom:10px}.service-intro p{font-size:12px;line-height:1.65;margin-bottom:10px}.service-list{display:grid;gap:14px;margin-top:15px}.service-card{display:grid;grid-template-columns:43% minmax(0,1fr);gap:12px;align-items:start;scroll-margin-top:78px}.service-card>img{border-radius:7px;aspect-ratio:1.06}.service-card:last-child>img{aspect-ratio:1.01}.service-name{display:flex;align-items:center;gap:8px;margin:4px 0 7px}.service-name>span{font-size:12px;color:var(--sage);flex-shrink:0}.service-name i{width:22px;height:1px;background:var(--sage);flex-shrink:0}.service-name h3{font-size:13px;line-height:1.5}.service-card:last-child .service-name{flex-wrap:wrap;gap:5px}.service-card:last-child .service-name h3{font-size:11px}.service-text h4{font-size:15px;line-height:1.55;margin-bottom:6px}.service-text>p{font-size:11.5px;line-height:1.65}.brand-band{position:relative;isolation:isolate;min-height:115px;background:linear-gradient(110deg,#e5f2f1,#fcfdfc,#e8f1ef);display:flex;align-items:center;justify-content:center;flex-direction:column;padding:20px 34px;overflow:hidden;text-align:center}.brand-band:before,.brand-band:after{content:'';position:absolute;z-index:-1;top:0;bottom:0;width:95px;background-size:cover;background-repeat:no-repeat;opacity:.9}.brand-band:before{left:0;background-image:var(--image-mobile-leaf-left);background-position:right center}.brand-band:after{right:0;background-image:var(--image-mobile-leaf-right);background-position:left center}.brand-band .rule{width:28px;height:1px;background:#899b92;margin-bottom:12px}.brand-band p{font-size:15px;line-height:1.75;max-width:250px}.brand-band small{font-size:7px;letter-spacing:.22em;font-family:var(--sans);margin-top:10px;white-space:nowrap}.audience-list{display:grid;gap:17px}.audience-card>img{aspect-ratio:3.88;border-radius:6px 6px 0 0}.audience-info{display:grid;grid-template-columns:50px minmax(0,1fr);gap:6px;padding:9px 7px 0}.item-num{color:var(--sage);font-family:var(--sans);font-weight:600;display:flex;gap:7px;align-items:baseline;font-size:13px}.item-num i{display:inline-block;width:21px;height:1px;background:#9aaea0;position:relative;top:-4px}.audience-info h3{font-size:16px;line-height:1.5;margin-bottom:4px}.audience-info p{font-size:11.5px;line-height:1.65}.tags{display:flex;flex-wrap:wrap;gap:5px;margin-top:8px}.tags li{border-radius:99px;background:#eaf0ed;padding:2px 8px;font-size:10px;line-height:1.7}.case-list{display:grid;gap:13px}.case-card{display:grid;grid-template-columns:46% minmax(0,1fr);gap:12px;background:white;box-shadow:0 2px 10px #1a382108;border-radius:6px;overflow:hidden}.case-card figure{position:relative;min-height:217px}.case-card figure img{height:100%;position:absolute;inset:0;object-position:center 20%}.case-card figcaption{position:absolute;bottom:0;left:0;right:0;color:white;font-family:var(--sans);font-size:15px;line-height:1.65;letter-spacing:.02em;padding:28px 10px 12px;background:linear-gradient(transparent,#071b18b0);text-shadow:0 1px 3px #0007}.case-text{padding:8px 7px 9px 0}.case-label{display:inline-block;background:#e2eae5;border-radius:99px;padding:2px 8px;font-size:9px;line-height:1.5;margin-bottom:6px}.case-text h3{font-size:15px;line-height:1.45;margin-bottom:8px}.case-text>p:not(.case-label){font-size:11px;line-height:1.68}.unavailable{display:flex;align-items:center;justify-content:center;gap:5px;flex-wrap:wrap;font-family:var(--sans);font-size:10px;border:1px dashed #b6c1b9;color:#69776f;border-radius:99px;padding:8px;margin-top:10px;background:#f6f8f6}.unavailable span,.unavailable small{font-size:8px}.case-all{min-height:44px;width:90%;margin:18px auto 0}.steps{display:grid;gap:14px}.step-card{display:grid;grid-template-columns:58% minmax(0,1fr);border-radius:7px;background:#fff;box-shadow:0 1px 12px #24402b0b;overflow:hidden}.step-text{padding:10px 8px 12px;display:grid;grid-template-columns:38px minmax(0,1fr);gap:8px}.step-number{width:38px;height:38px;border-radius:50%;background:#8b987e;color:white;display:grid;place-items:center;font-size:20px;line-height:1}.step-text h3{font-size:16px;line-height:1.5;margin:6px 0 11px}.step-text p{font-size:11px;line-height:1.85}.step-card>img{height:100%;min-height:150px;object-position:50% 50%}.line-note{display:grid;grid-template-columns:40px minmax(0,1fr);gap:15px;background:#eaf4ef;border-radius:7px;padding:11px 18px;margin-top:16px;align-items:center}.line-mark{width:38px;height:38px;border-radius:50%;background:#609e46;color:white;display:grid;place-items:center;font-family:var(--sans);font-weight:700;font-size:10px}.line-note p{font-size:12px;line-height:1.6}.profile h2{font-size:24px;letter-spacing:0}.profile-intro p{font-size:12px;line-height:1.65}.belief{padding:16px;margin:18px -6px 12px;background:#f0f5f1;border-radius:7px}.belief h3{font-size:25px;line-height:1.6;color:#617b62;margin-bottom:8px}.belief p{font-size:11.5px;line-height:1.8}.subheading{display:flex;align-items:center;gap:15px;font-size:17px;margin:16px 0 9px}.subheading i{display:inline-block;width:36px;height:1px;background:#999}.profile-grid{display:grid;grid-template-columns:40% minmax(0,1fr);gap:12px}.profile-grid>img{border-radius:5px;aspect-ratio:226/349}.qualifications li{font-size:11px;line-height:1.65;padding-left:15px;position:relative;margin-bottom:4px}.qualifications li:before{content:'';width:9px;height:9px;border-radius:50%;background:var(--sage);position:absolute;left:0;top:5px}.qualifications li:last-child{padding-left:15px}.qualifications li:last-child:before{display:none}.history{font-size:9px;line-height:1.8;border-top:1px solid #cdd1cd;padding-top:9px;margin-top:9px}.values{display:grid;gap:6px}.values article{display:grid;grid-template-columns:45px minmax(0,1fr);gap:12px;background:#f0f5f1;padding:8px 10px;border-radius:7px}.icon{width:45px;height:45px;border-radius:50%;background:var(--sage);color:white;display:grid;place-items:center;flex-shrink:0}.icon svg{width:32px;height:32px}.values h4{font-size:13px;line-height:1.5}.values p{font-size:9.5px;line-height:1.75}.with-brand{display:grid;grid-template-columns:minmax(0,1fr) 100px;gap:6px;margin-bottom:16px}.with-brand .intro{margin-bottom:0;font-size:13px}.with-brand h2{font-size:34px;margin-bottom:8px}.mini-brand{padding-top:14px;text-align:left}.mini-brand p{font-size:10px;line-height:1.8}.mini-brand i{display:block;width:24px;height:1px;background:#889a8d;margin:10px 0}.mini-brand strong{font:600 12px/1.5 var(--sans);letter-spacing:.3em}.mini-brand small{display:block;font:6px/1.6 var(--sans);letter-spacing:.17em;margin-top:3px}.price-list{display:grid;gap:8px}.price-card{display:grid;grid-template-columns:minmax(0,1fr) 108px;gap:14px;align-items:center;border:1px solid #e4e9e5;border-radius:12px;padding:12px 13px;background:#fff}.price-card.featured{background:#f0f5f1;border-color:transparent}.price-description h3{font-size:17px;line-height:1.45;margin-bottom:4px}.price-description p{font-size:11px;line-height:1.75}.price-amount{border-left:1px solid #cbd4ce;padding-left:14px}.price-amount>p{font-size:12px}.price-amount strong{font-size:21px;line-height:1.4;white-space:nowrap}.price-amount strong span{font-size:17px}.price-amount small{display:block;font-size:10px}.price-card:nth-child(6) h3{font-size:14px}.price-note{display:grid;grid-template-columns:26px minmax(0,1fr);gap:12px;background:#eff4f1;border-radius:8px;padding:12px 14px;margin-top:15px;align-items:center}.price-note .icon{width:26px;height:26px;background:none;color:var(--sage)}.price-note svg{width:26px;height:26px}.price-note p{font-size:11px;line-height:1.7}.access .with-brand{grid-template-columns:minmax(0,1fr) 90px}.access .with-brand h2{font-size:26px;white-space:nowrap;letter-spacing:0}.access .with-brand .intro{font-size:12px}.store-photo{position:relative;border-radius:7px;overflow:hidden;margin:0 0 16px}.store-photo img{aspect-ratio:716/462;object-fit:cover}.store-photo figcaption{position:absolute;bottom:0;left:0;right:0;color:white;text-shadow:0 1px 3px #0009;background:linear-gradient(transparent,#14201999);padding:20px 12px 10px;font-size:11px}.access-details{background:#f3f6f3;border-radius:8px;padding:4px 14px}.access-row{display:grid;grid-template-columns:40px minmax(0,1fr);gap:15px;align-items:start;padding:14px 0;border-bottom:1px solid #dae2db}.access-row:last-child{border:0}.access-row .icon{width:40px;height:40px}.access-row svg{width:27px;height:27px}.access-row h3{font-size:16px;line-height:1.5;margin-bottom:2px}.access-row p{font-size:13px;line-height:1.6}.contact{text-align:center;margin-top:20px;padding-top:15px;border-top:1px solid #d4ded6}.contact h3{font:600 17px/1.5 var(--sans);letter-spacing:.2em}.contact p{font-size:12px;margin:7px 0}.contact .phone{background:white;color:var(--green);max-width:260px;margin:10px auto 0}footer{text-align:center;padding:12px 15px 60px;font:10px var(--sans);background:#f5f7f4}footer a{display:inline-flex;align-items:center;min-height:44px;text-decoration:underline}dialog{width:calc(100% - 32px);max-width:390px;border:1px solid #acbbae;border-radius:12px;background:#fff;color:var(--ink);max-height:calc(100dvh - 32px);padding:20px;overflow:auto}dialog::backdrop{background:#0c231dc0}.menu-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.menu-top h2{font:600 23px var(--sans);letter-spacing:.2em}.close{min-height:44px;border:1px solid #7b907f;border-radius:99px;background:white;padding:8px 16px;font:13px var(--sans)}#menu nav a{display:flex;align-items:center;min-height:44px;padding:10px 0;border-bottom:1px solid #e0e7e1;font-size:14px}.toggle{display:flex;align-items:center;gap:12px;min-height:44px;margin-top:12px;font:13px var(--sans)}.toggle input{width:22px;height:22px;accent-color:var(--green)}.review-link{font:12px var(--sans);display:inline-flex;align-items:center;min-height:44px;text-decoration:underline}#fixed-cta{position:fixed;z-index:15;bottom:0;left:50%;transform:translateX(-50%);width:min(100%,430px);display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:8px 10px calc(8px + env(safe-area-inset-bottom));background:#fffffff5;border-top:1px solid #b6c7b9;box-shadow:0 -2px 12px #213b2210}#fixed-cta .cta{font-size:13px;min-height:48px;padding:8px 10px;gap:6px}#fixed-cta .pending small{font-size:8px}#fixed-cta[hidden]{display:none}#quick-toggle{position:fixed;bottom:calc(75px + env(safe-area-inset-bottom));right:max(8px,calc((100vw - 430px)/2 + 8px));z-index:16;min-height:44px;padding:8px 10px;border:1px solid #8aa08c;background:#fffef9;border-radius:6px;color:#325c40;font:10px var(--sans);box-shadow:0 2px 6px #0001}body.cta-off{padding-bottom:0}body.cta-off #quick-toggle{bottom:12px}@media(max-width:350px){header{padding-inline:10px;gap:7px}.logo{font-size:19px}.header-book{font-size:10px!important;padding:7px 11px!important}.section{padding-inline:14px}.hero h1{font-size:21px}.hero-vertical{right:8px;font-size:11px}.hero-intro{max-width:90%;font-size:10px}.hero-question{font-size:13px}.hero-actions{max-width:190px}.service-intro{padding:0 8px}.service-intro h2{font-size:21px}.service-card{gap:9px;grid-template-columns:40% minmax(0,1fr)}.service-name{gap:5px}.service-name h3{font-size:12px}.service-text h4{font-size:13px}.service-text>p{font-size:11px}.audience-info{grid-template-columns:42px minmax(0,1fr);padding-inline:3px;gap:3px}.audience-info h3{font-size:14px}.item-num{gap:4px}.item-num i{width:16px}.case-card{gap:9px;grid-template-columns:43% minmax(0,1fr)}.case-text h3{font-size:14px}.case-text>p:not(.case-label){font-size:10.5px}.case-card figcaption{font-size:12px;padding-inline:7px}.step-text{grid-template-columns:30px minmax(0,1fr);gap:6px;padding-inline:6px}.step-number{width:30px;height:30px;font-size:16px}.step-text h3{font-size:14px}.step-text p{font-size:10.5px}.profile h2{font-size:21px}.belief h3{font-size:22px}.profile-grid{gap:9px;grid-template-columns:36% minmax(0,1fr)}.with-brand{grid-template-columns:minmax(0,1fr) 85px}.mini-brand p{font-size:9px}.access .with-brand{grid-template-columns:minmax(0,1fr) 75px}.access .with-brand h2{font-size:23px}.price-card{grid-template-columns:minmax(0,1fr) 98px;gap:9px;padding:11px 10px}.price-description h3{font-size:15px}.price-description p{font-size:10.5px}.price-amount{padding-left:10px}.price-amount strong{font-size:20px}.access-row{gap:11px}.access-row p{font-size:12px}.brand-band p{font-size:14px}#fixed-cta .cta{font-size:11px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

.hero-photo{object-fit:contain;object-position:right bottom;mask-image:linear-gradient(90deg,transparent 0%,#000 20%);height:100%;width:46%}.hero-wash{background:linear-gradient(90deg,#f2f8f6bb 0%,#f9f7ef80 40%,#f6f5e910 65%,transparent 80%)}
.case-card figure{background:#637569}.case-card figure img{position:relative;height:auto;object-fit:contain;object-position:center}.case-card:nth-child(1) figure{background:#45504a}.case-card:nth-child(2) figure{background:#6d8069}.case-card figcaption{padding-top:38px}#quick-toggle{position:static;display:block;margin:4px auto 0;box-shadow:none;min-height:44px;font-size:11px}body.cta-off #quick-toggle{position:static}
.menu-toggle{margin-left:auto}
