:root{--navy:#2a2722;--green:#557d69;--green-deep:#466c59;--mist:#f5efe6;--cream:#faf7f2;--cream2:#efe7da;--paper:#fff;--sage:#dce3d4;--sage-deep:#c4cfb8;--forest:#466c59;--sun:#c2693f;--apricot:#e9d9c4;--pink:#f0e3d4;--ink:#4a443d;--sub:#7a7165;--line:#e7ddce;--radius:22px;--radius-lg:30px;--wrap:1080px;--maxnarrow:720px;--serif:"YakuHanMP", "Zen Old Mincho", "Hiragino Mincho ProN", "Yu Mincho", "Noto Serif JP", serif;--sans:"Zen Kaku Gothic New", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Noto Sans JP", "Yu Gothic", Meiryo, sans-serif}*{box-sizing:border-box}html{scroll-behavior:auto}body{color:var(--ink);background-color:var(--cream);font-family:var(--sans);letter-spacing:.02em;-webkit-font-smoothing:antialiased;font-feature-settings:"palt";word-break:keep-all;overflow-wrap:break-word;text-wrap:pretty;background-image:radial-gradient(#2a27220d 1px,#0000 1.4px);background-position:-8px -8px;background-size:24px 24px;margin:0;line-height:1.95}a{color:inherit;text-decoration:none}a[aria-disabled=true]{cursor:default}.wrap{width:100%;max-width:var(--wrap);margin:0 auto;padding:0 26px}.narrow{max-width:var(--maxnarrow)}.center{text-align:center}.pc-only{display:inline}.label{font-size:inherit;font-weight:inherit;line-height:inherit;margin:0 0 30px;display:block}.label.center{text-align:center}.label-en{font-family:var(--serif);color:var(--green-deep);letter-spacing:.26em;text-transform:uppercase;font-size:12px;font-weight:700;line-height:1;display:block}.label-ja{font-family:var(--serif);letter-spacing:.05em;color:var(--navy);margin-top:14px;padding-left:0;font-size:clamp(23px,3.7vw,33px);font-weight:600;line-height:1.4;display:block;position:relative}.label-ja:before{display:none}.label.center .label-ja{padding-left:0}.label.center .label-ja:before{display:none}.accent{pointer-events:none;z-index:0;position:absolute}.ac-hero-blob{opacity:.5;top:-70px;right:-70px}.ac-promise-blob{opacity:.6;bottom:-80px;left:-90px}@media (max-width:880px){.ac-hero-blob,.ac-promise-blob{display:none}}.photo{background:radial-gradient(circle at 55% 40%, var(--sage) 0%, var(--sage-deep) 100%);justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden;box-shadow:0 18px 44px #2f4a4029}.photo:after{content:"";pointer-events:none;background:linear-gradient(105deg,#0000 0% 38%,#ffffff80 50%,#0000 62% 100%);position:absolute;inset:0;transform:translate(-130%)}.photo.is-revealed:after{animation:1.15s cubic-bezier(.22,1,.36,1) .15s both photoSheen}.photo img{object-fit:cover;width:100%;height:100%}.photo video{object-fit:cover;width:100%;height:100%;display:block}.hero-media .hero-poster-fallback{display:none}@media (prefers-reduced-motion:reduce){.hero-media .hero-video-el{display:none}.hero-media .hero-poster-fallback{display:block}}.photo-ph{letter-spacing:.18em;color:#fff;opacity:.9;font-size:12px}.photo.tint-mist{background:radial-gradient(circle at 50% 35%, var(--mist) 0%, #d2e0ef 100%)}.photo.tint-mist .photo-ph{color:var(--navy);opacity:.5}.photo.tint-cream{background:radial-gradient(circle at 50% 40%,#f1e7d7 0%,#e3d3bd 100%)}.photo.tint-cream .photo-ph{color:#8a7a5e;opacity:.8}.photo.blob{aspect-ratio:1;border-radius:46% 54% 50% 50%/52% 48%}.photo.arch{aspect-ratio:4/5;border-radius:170px 170px 22px 22px}.photo.round{aspect-ratio:4/3;border-radius:22px}.photo.wide{aspect-ratio:16/11;border-radius:24px}.split{grid-template-columns:.92fr 1.08fr;align-items:center;gap:52px;display:grid}.split.rev .photo{order:2}.split .label{margin-top:0}.hero-visual .photo{transform:none}.hero-visual .photo.wide{aspect-ratio:4/3;border-radius:30px}.cards-stagger{align-items:stretch}.cards-stagger .card{transition:transform .22s,box-shadow .22s}.cards-stagger .card:hover{transform:translateY(-5px);box-shadow:0 22px 44px #3a382f1a}.cards-stagger .card .photo{aspect-ratio:4/3;border-radius:16px}.split-worries{grid-template-columns:1.04fr .96fr;gap:66px}.split-worries .photo{max-width:440px}.split-about{grid-template-columns:1.15fr .85fr;gap:56px}.split-about .photo{width:100%;max-width:340px;margin-left:auto}.split-service{grid-template-columns:1fr 1fr;align-items:start;gap:56px}.split-service .photo{align-self:start;width:100%;max-width:none}.section .label:not(.center){padding-left:4px}.btn{letter-spacing:.04em;white-space:nowrap;border-radius:999px;justify-content:center;align-items:center;gap:9px;padding:15px 32px;font-size:15px;font-weight:700;transition:transform .18s,box-shadow .18s,background .18s;display:inline-flex}.btn-primary{background:var(--green);color:#fff;box-shadow:0 8px 18px #2a272229}.btn-primary:hover{background:var(--green-deep);transform:translateY(-2px)}.btn-ghost{background:var(--paper);color:var(--navy);border:1.5px solid var(--navy)}.btn-ghost:hover{background:var(--navy);color:#fff;transform:translateY(-2px)}.btn .arrow{font-size:13px}.site-header{z-index:50;-webkit-backdrop-filter:saturate(150%)blur(9px);backdrop-filter:saturate(150%)blur(9px);background:#faf7f2d6;border-bottom:1px solid #e7ddceb8;position:sticky;top:0}.header-inner{justify-content:space-between;align-items:center;height:66px;display:flex}.brand{color:var(--navy);letter-spacing:.06em;align-items:center;gap:10px;font-size:18px;font-weight:800;display:inline-flex}.brand-logo{object-fit:contain;width:auto;max-width:min(190px,42vw);height:42px;display:block}.brand-logo-footer{max-width:min(200px,60vw);height:34px}.site-nav{background:#ffffff8f;border:1px solid #2a272214;border-radius:999px;align-items:center;gap:2px;padding:5px;display:inline-flex}.site-nav a{letter-spacing:.05em;min-width:64px;min-height:34px;color:var(--navy);border-radius:999px;justify-content:center;align-items:center;padding:7px 12px;font-size:13px;font-weight:800;transition:background .18s,color .18s,transform .18s;display:inline-flex}.site-nav a:hover{background:var(--navy);color:#fff;transform:translateY(-1px)}.site-header .btn-ghost{padding:9px 22px;font-size:14px}@media (max-width:520px){.site-nav{display:none}}.hero{padding:56px 0 78px;position:relative;overflow:hidden}.hero:before{content:"";z-index:0;opacity:.38;background-image:linear-gradient(#2a27220b 1px,#0000 1px),linear-gradient(90deg,#2a27220b 1px,#0000 1px);background-size:54px 54px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#0000 0%,#000 18% 62%,#0000 100%);mask-image:linear-gradient(#0000 0%,#000 18% 62%,#0000 100%)}.hero-inner{z-index:2;grid-template-columns:.82fr 1.18fr;align-items:center;gap:48px;display:grid;position:relative}.hero-copy{position:relative}.hero-eyebrow{font-family:var(--serif);letter-spacing:.18em;color:var(--green-deep);margin:0 0 18px;font-size:15px}.hero-title{font-family:var(--serif);color:var(--navy);letter-spacing:.02em;white-space:nowrap;margin:0 0 24px;font-size:clamp(34px,4.9vw,54px);font-weight:600;line-height:1.34}@media (max-width:880px){.hero-title{white-space:normal}}.hero-title .u{background:linear-gradient(#0000 64%,#f4ce5e8c 64%)}@keyframes fadeUp{0%{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}@keyframes photoSheen{0%{transform:translate(-130%)}to{transform:translate(130%)}}@keyframes floatSoft{0%,to{transform:translateY(0) rotate(var(--float-rotate,0deg))}50%{transform:translateY(-10px) rotate(var(--float-rotate,0deg))}}@keyframes ribbonMove{0%{transform:translate(0)}to{transform:translate(-50%)}}.reveal-line{opacity:0;animation:.9s cubic-bezier(.22,1,.36,1) forwards fadeUp;display:inline-block}.reveal-line-1{animation-delay:.15s}.reveal-line-2{animation-delay:.4s}@media (prefers-reduced-motion:reduce){.reveal-line{opacity:1;animation:none;transform:none}}[data-reveal]{opacity:0;will-change:opacity, transform;transition:opacity .55s cubic-bezier(.4,.4,0,1),transform .55s cubic-bezier(.4,.4,0,1);transform:translateY(16px)}[data-reveal].is-revealed{opacity:1;transform:translateY(0)}@media (prefers-reduced-motion:reduce){[data-reveal]{opacity:1;transition:none;transform:none}}.cards-stagger [data-reveal]:first-child{transition-delay:0s}.cards-stagger [data-reveal]:nth-child(2){transition-delay:.12s}.cards-stagger [data-reveal]:nth-child(3){transition-delay:.24s}.plans [data-reveal]:first-child{transition-delay:0s}.plans [data-reveal]:nth-child(2){transition-delay:.1s}.plans [data-reveal]:nth-child(3){transition-delay:.2s}.sub-plan-grid [data-reveal]:first-child,.works-board [data-reveal]:first-child,.faq-page-list [data-reveal]:first-child{transition-delay:0s}.sub-plan-grid [data-reveal]:nth-child(2),.works-board [data-reveal]:nth-child(2),.faq-page-list [data-reveal]:nth-child(2){transition-delay:.1s}.sub-plan-grid [data-reveal]:nth-child(3),.works-board [data-reveal]:nth-child(3),.faq-page-list [data-reveal]:nth-child(3){transition-delay:.2s}.cards-stagger .card[data-reveal]{transform:translateY(24px)rotate(0)}.cards-stagger .card[data-reveal].is-revealed:first-child,.cards-stagger .card[data-reveal].is-revealed:nth-child(2),.cards-stagger .card[data-reveal].is-revealed:nth-child(3){transform:none}.sub-plan-grid .sub-plan[data-reveal],.works-board .work-card[data-reveal]{transform:translateY(24px)rotate(0)}.sub-plan-grid .sub-plan[data-reveal].is-revealed:first-child,.sub-plan-grid .sub-plan[data-reveal].is-revealed:nth-child(2),.sub-plan-grid .sub-plan[data-reveal].is-revealed:nth-child(3),.works-board .work-card[data-reveal].is-revealed:first-child,.works-board .work-card[data-reveal].is-revealed:nth-child(2),.works-board .work-card[data-reveal].is-revealed:nth-child(3){transform:none}.split-worries .photo[data-reveal].is-revealed,.split-about .photo[data-reveal].is-revealed,.split-service .photo[data-reveal].is-revealed,.hero-visual .photo[data-reveal].is-revealed,.contact-photo .photo[data-reveal].is-revealed{transform:translateY(0)}@media (prefers-reduced-motion:reduce){[data-reveal]{opacity:1;transition:none;transform:none!important}}.photo img{transition:transform .7s cubic-bezier(.22,1,.36,1)}.photo:hover img{transform:scale(1.04)}.plan{transition:transform .35s cubic-bezier(.22,1,.36,1),box-shadow .35s}.plan:hover{transform:translateY(-6px);box-shadow:0 28px 50px #3a382f21}.plan-pick:hover{transform:translateY(-12px);box-shadow:0 36px 58px #2a272238}.btn .arrow{transition:transform .3s cubic-bezier(.22,1,.36,1)}.btn:hover .arrow{transform:translate(4px)}.hero-lead{color:var(--sub);max-width:460px;margin:0 0 32px;font-size:clamp(14.5px,2vw,16.5px)}.hero-cta{flex-wrap:wrap;gap:14px;margin-bottom:26px;display:flex}.hero-cta.center{justify-content:center}.hero-note{color:var(--sub);max-width:440px;margin:0;font-size:13px;line-height:1.9}.hero-note+.hero-note{margin-top:2px}.hero-points{flex-wrap:wrap;align-items:center;gap:10px;max-width:520px;display:inline-flex}.hero-points p{letter-spacing:.16em;color:var(--green-deep);flex-basis:100%;margin:0 0 2px;font-size:12px;font-weight:800}.hero-points span{min-height:34px;color:var(--navy);background:#ffffffb8;border:1px solid #2a272214;border-radius:999px;align-items:center;padding:7px 14px;font-size:13px;font-weight:700;display:inline-flex;box-shadow:0 8px 20px #2f4a400f}.hero-trust{border-top:1px solid #2a27221a;flex-wrap:wrap;gap:8px 18px;margin:20px 0 0;padding:18px 0 0;list-style:none;display:flex}.hero-trust li{letter-spacing:.04em;color:var(--forest);padding-left:16px;font-size:12.5px;font-weight:700;position:relative}.hero-trust li:before{content:"";background:var(--green);border-radius:50%;width:7px;height:7px;margin-top:-3.5px;position:absolute;top:50%;left:0}.hero-visual{z-index:2;position:relative}.hero-visual:before{content:"";z-index:-1;border:1px solid #2a272247;border-radius:34px;position:absolute;inset:-14px}.hero-step-card{z-index:5;-webkit-backdrop-filter:blur(14px)saturate(150%);background:#ffffffad;border:1px solid #ffffffb8;border-radius:16px;gap:1px;min-width:92px;padding:12px 16px;animation:4.4s cubic-bezier(.45,0,.55,1) infinite floatSoft;display:grid;position:absolute;box-shadow:0 16px 32px #2a27221f}.hero-step-card span{font-family:var(--serif);color:var(--green-deep);letter-spacing:.14em;font-size:12px;font-weight:700}.hero-step-card strong{color:var(--navy);letter-spacing:.08em;font-size:14px}.hero-step-card-1{--float-rotate:0deg;top:-18px;left:28px}.hero-step-card-2{--float-rotate:0deg;animation-delay:.7s;top:28%;right:-22px}.hero-step-card-3{--float-rotate:0deg;animation-delay:1.1s;bottom:24%;left:-16px}.hero-step-card-4{--float-rotate:0deg;animation-delay:1.45s;bottom:-18px;right:38px}.hero-steps{grid-template-columns:repeat(4,1fr);gap:10px;margin-top:22px;display:grid}.hero-step{background:var(--paper);border:1px solid #2a27222e;border-radius:14px;justify-items:center;gap:4px;padding:14px 8px;display:grid;box-shadow:0 6px 18px #2a27220f}.hero-step span{font-family:var(--serif);color:var(--green-deep);letter-spacing:.18em;font-size:12px;font-weight:700}.hero-step strong{color:var(--navy);letter-spacing:.08em;font-size:15px;font-weight:700}.hero-quote{background:0 0;border:0;margin-top:20px;padding:4px 0 0}.hero-quote .hero-quote-lead{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='10' viewBox='0 0 200 10'%3E%3Cpath d='M3 6 C45 2 75 9 110 5 C145 2 175 9 197 5' fill='none' stroke='%23F4CE5E' stroke-width='3' stroke-linecap='round'/%3E%3C/svg%3E");background-position:0 100%;background-repeat:no-repeat;background-size:190px 7px;padding-bottom:12px}.hero-quote-lead{font-family:var(--serif);color:var(--navy);letter-spacing:.01em;margin:0 0 6px;font-size:16px;font-weight:600;line-height:1.6}.hero-quote-sub{color:var(--ink);margin:0;font-size:13px;line-height:1.7}@media (max-width:880px){.hero-steps{grid-template-columns:repeat(4,1fr);gap:6px}.hero-step{padding:10px 4px}.hero-step strong{font-size:13px}.hero-quote{margin-top:14px;padding:14px 16px}.hero-quote-lead{font-size:14.5px}}.glass-card{z-index:4;-webkit-backdrop-filter:blur(16px)saturate(160%);background:#ffffff6b;border:1px solid #fff9;border-radius:18px;width:290px;max-width:290px;padding:16px 20px;position:absolute;bottom:34px;left:34px;box-shadow:0 14px 34px #2f4a402e}.glass-card-lead{font-family:var(--serif);color:var(--navy);letter-spacing:.01em;white-space:nowrap;margin:0 0 6px;font-size:15px;font-weight:600}.glass-card-sub{color:#2c3a48;margin:0;font-size:12px;line-height:1.7}.hero-ribbon{z-index:1;opacity:.42;position:absolute;bottom:8px;left:0;right:0;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,#0000 0%,#000 18% 82%,#0000 100%);mask-image:linear-gradient(90deg,#0000 0%,#000 18% 82%,#0000 100%)}.hero-ribbon-track{gap:34px;width:max-content;animation:34s linear infinite ribbonMove;display:flex}.hero-ribbon span{font-family:var(--serif);letter-spacing:.18em;color:var(--forest);white-space:nowrap;flex:none;font-size:13px;font-weight:600}@media (max-width:880px){.glass-card{width:auto;max-width:230px;padding:13px 16px;bottom:14px;left:8px}.glass-card-lead{white-space:normal;font-size:14.5px}}.divider{display:none}.sketch-divider{justify-content:center;width:100%;padding:6px 0;display:flex}.sketch-divider svg{width:min(220px,60%);height:12px}.diagnosis-panel,.card,.plan,.assure li,.work-card,.contact-form,.faq details{border:1px solid #2a272212;box-shadow:0 14px 34px #2f4a4014}.section{isolation:isolate;padding:72px 0;position:relative;overflow:hidden}.section>.wrap,.cta-section>.wrap{z-index:1;position:relative}.sketch.deco{z-index:0;pointer-events:none;opacity:.5;animation:9s ease-in-out infinite decoFloat;position:absolute}.sketch.deco path,.sketch.deco circle{vector-effect:non-scaling-stroke}.deco-tl{width:64px;top:30px;left:3.5%}.deco-tr{width:72px;animation-delay:1.2s;top:38px;right:4%}.deco-bl{width:70px;animation-delay:2s;bottom:34px;left:5%}.deco-br{width:60px;animation-delay:.6s;bottom:30px;right:4.5%}@keyframes decoFloat{0%,to{transform:translateY(0)rotate(0)}50%{transform:translateY(-7px)rotate(2deg)}}@media (prefers-reduced-motion:reduce){.sketch.deco{animation:none}}.section-airy{padding:96px 0}.section-compact{padding:52px 0}.section-tint{background:var(--cream2)}.section-paper{background:0 0}#price,#flow,#contact{scroll-margin-top:92px}.section-lead{color:var(--sub);margin:22px 0 0;font-size:16px}.assure{text-align:left;gap:14px;max-width:720px;margin:30px auto 4px;padding:0;list-style:none;display:grid}@media (min-width:720px){.assure{grid-template-columns:repeat(3,1fr)}}.assure li{background:#ffffffe6;border:1px solid #2a27220f;border-radius:16px;padding:18px 20px;box-shadow:0 8px 22px #2f4a4014}.assure strong{color:var(--navy);margin-bottom:6px;font-size:15px;font-weight:700;display:block}.assure strong:before{content:"";vertical-align:-1px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='16' viewBox='0 0 24 16'%3E%3Cpath d='M3 8 C5 11 6 12 8 13 C12 9 15 5 20 2' stroke='%237BB661' stroke-width='2.4' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") 50%/contain no-repeat;width:20px;height:13px;margin-right:8px;display:inline-block}.assure span{color:var(--sub);font-size:13px;line-height:1.7}.diagnosis-panel{background:linear-gradient(135deg,#ffffffb3,#eaf1f8d6);border:1px solid #2a272212;border-radius:30px;grid-template-columns:.72fr 1.28fr;align-items:stretch;gap:34px;padding:30px;display:grid;box-shadow:0 24px 60px #2f4a401f}.diagnosis-photo{align-items:stretch;display:flex}.diagnosis-photo .photo{width:100%;max-width:none}.diagnosis-body{align-content:center;display:grid}.diagnosis-kicker{color:var(--green-deep);letter-spacing:.16em;margin:0 0 18px;font-size:13px;font-weight:800}.diagnosis-grid{grid-template-columns:1.1fr .9fr;gap:18px;display:grid}.diagnosis-card{background:var(--paper);border-radius:22px;padding:22px;box-shadow:0 10px 28px #3a382f0f}.diagnosis-card>span{color:var(--forest);font-family:var(--serif);letter-spacing:.08em;margin-bottom:15px;font-size:20px;font-weight:600;display:inline-block}.diagnosis-card-after{background:linear-gradient(160deg, #f2faec 0%, var(--paper) 100%);flex-direction:column;justify-content:center;display:flex}.diagnosis-card-after p{color:var(--navy);margin:0;font-weight:700;line-height:1.85}.diagnosis-card-after p+p{color:var(--sub);margin-top:16px;font-weight:600}.pain-list{gap:16px;margin:0;padding:0;list-style:none;display:grid}.pain-list li{background:var(--paper);color:var(--ink);border-radius:16px;padding:20px 24px 20px 56px;font-size:16px;position:relative;box-shadow:0 8px 22px #3a382f0d}.pain-list li:before{content:"";opacity:.9;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='16' viewBox='0 0 24 16'%3E%3Cpath d='M3 8 C5 11 6 12 8 13 C12 9 15 5 20 2' stroke='%237BB661' stroke-width='2.2' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") 50%/contain no-repeat;width:24px;height:16px;position:absolute;top:23px;left:18px}.diagnosis-panel-text{grid-template-columns:1fr;max-width:960px;margin:0 auto;padding:36px 30px}.diagnosis-panel-text .diagnosis-grid{grid-template-columns:1fr auto 1fr;align-items:center;gap:18px}.diagnosis-arrow{justify-content:center;align-items:center;padding:0 4px;display:flex}.diagnosis-arrow svg{opacity:.9;width:64px;height:40px}.after-list{gap:16px;margin:0;padding:0;list-style:none;display:grid}.after-list li{background:linear-gradient(160deg, #f2faec 0%, var(--paper) 100%);color:var(--navy);border-radius:16px;padding:20px 24px 20px 56px;font-size:16px;font-weight:600;position:relative;box-shadow:0 8px 22px #3a382f0d}.after-list li:before{content:"";opacity:.95;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='28' height='16' viewBox='0 0 28 16'%3E%3Cpath d='M3 8 C9 6 17 6 24 8' stroke='%237BB661' stroke-width='2.4' fill='none' stroke-linecap='round'/%3E%3Cpath d='M19 3 C22 5 24 7 25 8 C23 10 21 12 19 14' stroke='%237BB661' stroke-width='2.4' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") 50%/contain no-repeat;width:28px;height:16px;position:absolute;top:22px;left:16px}.showcase-panel{background:#ffffff94;border:1px solid #2a272212;border-radius:28px;grid-template-columns:.88fr 1.12fr;align-items:center;gap:34px;margin-top:68px;padding:34px;scroll-margin-top:92px;display:grid;box-shadow:0 22px 54px #2f4a401f}.showcase-panel .label{margin-bottom:20px}.showcase-lead{color:var(--sub);margin:0;font-size:15.5px}.ba-grid{grid-template-columns:1fr 1fr;gap:14px;margin-top:24px;display:grid}.ba-grid div{background:var(--paper);border-radius:18px;min-height:128px;padding:20px;box-shadow:0 8px 22px #3a382f0d}.ba-kicker{font-family:var(--serif);color:var(--green-deep);letter-spacing:.12em;margin-bottom:10px;font-size:13px;font-weight:700;display:block}.ba-grid p{color:var(--navy);margin:0;font-size:14.5px;font-weight:700;line-height:1.75}.showcase-photo{aspect-ratio:16/10;border-radius:24px;overflow:hidden;box-shadow:0 18px 42px #2a27221f}.showcase-photo img{object-fit:cover;width:100%;height:100%;display:block}.cards{grid-template-columns:repeat(3,1fr);gap:24px;display:grid}.card{background:var(--paper);border-radius:var(--radius);padding:20px 20px 32px;position:relative;box-shadow:0 14px 34px #3a382f0f}.card .photo{margin-bottom:22px;box-shadow:0 10px 24px #2f4a401f}.card>.card-no,.card>h3,.card>p{padding-left:8px;padding-right:8px}.card-no{font-family:var(--serif);letter-spacing:.14em;color:var(--green-deep);margin-bottom:8px;font-size:13px}.card h3{font-family:var(--serif);color:var(--navy);margin:0 0 12px;font-size:19px;font-weight:600;line-height:1.55}.card p{color:var(--sub);margin:0;font-size:14.5px}.promise-story{grid-template-columns:1fr;gap:26px;max-width:920px;margin:0 auto;display:grid;position:relative}.promise-story .card{grid-template-columns:240px 1fr;align-items:center;gap:28px;width:100%;min-height:210px;padding:24px;display:grid}.promise-story .photo{margin-bottom:0}.promise-story .story-copy{z-index:1;position:relative}.about-grid{grid-template-columns:.8fr 1.2fr;align-items:center;gap:48px;display:grid}.about-photo{aspect-ratio:4/5;background:radial-gradient(circle at 50% 35%, var(--mist) 0%, #d4e2f0 100%);border-radius:50%/44% 44% 56% 56%;justify-content:center;align-items:center;display:flex;position:relative;box-shadow:0 18px 40px #2a27221f}.about-photo img{object-fit:cover;border-radius:inherit;width:100%;height:100%}.about-photo .placeholder{color:var(--navy);opacity:.55;letter-spacing:.16em;text-align:center;font-size:12px}.prose{color:var(--ink);letter-spacing:.03em;max-width:34em;margin:0 0 18px;font-size:16px;line-height:1.95}.do-list{gap:14px;display:grid}.do-item{background:var(--paper);color:var(--navy);border-radius:16px;align-items:center;gap:14px;padding:20px 24px;font-size:16px;font-weight:600;display:flex;box-shadow:0 8px 22px #3a382f0d}.do-item:before{content:"";background:var(--green);border-radius:50%;flex:none;width:9px;height:9px}.service-rail{background:#ffffffad;border:1px solid #2a27220f;border-radius:20px;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:24px;padding:24px 20px;display:grid;position:relative;box-shadow:0 10px 28px #3a382f0d}.service-rail:before{content:"";background:linear-gradient(90deg, var(--green), var(--sun), var(--green));transform-origin:0;height:2px;transition:transform 1.1s cubic-bezier(.22,1,.36,1);position:absolute;top:50%;left:11%;right:11%;transform:scaleX(0)}.service-rail.is-revealed:before{transform:scaleX(1)}.service-rail span{z-index:1;background:var(--paper);min-height:44px;color:var(--navy);border-radius:999px;justify-content:center;align-items:center;font-size:13px;font-weight:800;display:flex;position:relative;box-shadow:0 6px 18px #2f4a4014}.plans{background:#ffffff52;border:1px solid #2a27220f;border-radius:30px;grid-template-columns:repeat(3,1fr);align-items:stretch;gap:24px;padding:18px;display:grid}.plan{background:var(--paper);border-radius:var(--radius);text-align:center;padding:38px 28px;position:relative;box-shadow:0 14px 34px #3a382f0f}.plan-pick{background:linear-gradient(180deg, #f2faec 0%, var(--paper) 60%);transform:translateY(-6px);box-shadow:0 22px 46px #2a27222e}.plan-badge{background:var(--green);color:#fff;letter-spacing:.08em;border-radius:999px;padding:6px 18px;font-size:12.5px;font-weight:800;position:absolute;top:-14px;left:50%;transform:translate(-50%);box-shadow:0 6px 14px #2a272238}.plan-name{color:var(--sub);margin-bottom:14px;font-size:15px;font-weight:700}.plan-price{font-family:var(--serif);color:var(--navy);font-size:40px;font-weight:600;line-height:1.1}.plan-price span{font-size:16px;font-weight:700;font-family:var(--sans);margin-left:2px}.plan-sub{color:var(--sub);margin-top:6px;font-size:13.5px}.plan ul{text-align:left;gap:12px;margin:0;padding:24px 0 0;list-style:none;display:grid}.plan ul li{color:var(--ink);padding-left:28px;font-size:14.5px;position:relative}.plan ul li:before{content:"";border-left:2.4px solid var(--green-deep);border-bottom:2.4px solid var(--green-deep);width:12px;height:7px;position:absolute;top:9px;left:4px;transform:rotate(-45deg)}.monitor{text-align:center;border:1.5px dashed var(--sun);max-width:660px;color:var(--ink);background:#fff7ea;border-radius:18px;margin:38px auto 0;padding:20px 26px;font-size:15px}.monitor strong{color:var(--green-deep)}.monitor-tag{background:var(--sun);color:#fff;letter-spacing:.06em;border-radius:999px;margin-bottom:10px;padding:5px 14px;font-size:12px;font-weight:800;display:inline-block}.price-note{text-align:center;color:var(--sub);letter-spacing:.02em;margin:-28px 0 40px;font-size:13.5px}.plan-guide{grid-template-columns:repeat(3,1fr);gap:14px;margin:26px auto 0;display:grid}.plan-guide div{text-align:center;background:#ffffffb8;border:1px solid #2a27220f;border-radius:16px;min-height:92px;padding:18px 20px;transition:transform .28s cubic-bezier(.22,1,.36,1),box-shadow .28s;box-shadow:0 8px 22px #3a382f0d}.plan-guide div:hover{transform:translateY(-4px);box-shadow:0 14px 30px #3a382f14}.plan-guide span{color:var(--sub);margin-bottom:7px;font-size:12.5px;font-weight:700;display:block}.plan-guide strong{color:var(--navy);font-family:var(--serif);font-size:20px;font-weight:600;display:block}.flow{gap:18px;margin:0;padding:18px 0 8px;list-style:none;display:grid;position:relative}.flow:before{content:"";background:linear-gradient(#2a272280,#f4ce5e73);width:2px;position:absolute;top:36px;bottom:36px;left:50%;transform:translate(-50%)}.flow li{background:var(--paper);border-radius:18px;justify-self:center;align-items:flex-start;gap:20px;width:min(620px,88%);padding:22px 26px;display:flex;position:relative;box-shadow:0 8px 22px #3a382f0d}.flow li:first-child,.flow li:nth-child(2),.flow li:nth-child(3),.flow li:nth-child(4){justify-self:center;transform:none}.flow-no{z-index:1;background:var(--mist);width:42px;height:42px;color:var(--navy);font-family:var(--serif);border-radius:50%;flex:none;justify-content:center;align-items:center;font-size:18px;font-weight:700;display:flex;position:relative}.flow h3{font-family:var(--serif);color:var(--navy);margin:0 0 4px;font-size:17px;font-weight:600}.flow p{color:var(--sub);margin:0;font-size:14.5px}.flow-cta{background:linear-gradient(135deg,#d2e4dcb8,#eaf1f8e0);border-radius:22px;justify-items:center;gap:18px;margin-top:28px;padding:28px 24px;display:grid}.flow-cta p{color:var(--navy);text-align:center;margin:0;font-weight:700}.faq{gap:13px;display:grid}.faq details{background:var(--paper);border-radius:14px;padding:4px 24px;transition:background .28s cubic-bezier(.22,1,.36,1),box-shadow .3s cubic-bezier(.22,1,.36,1),border-color .3s;overflow:hidden;box-shadow:0 6px 18px #2a27220f}.faq details:hover,.faq details[open]{background:#fffdf8;box-shadow:0 10px 26px #2a272217}.faq summary:hover{color:var(--green-deep)}.faq summary{cursor:pointer;color:var(--navy);padding:18px 28px 18px 0;font-size:16px;font-weight:700;list-style:none;transition:color .22s cubic-bezier(.22,1,.36,1);position:relative}.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:"＋";color:var(--green-deep);font-weight:800;transition:transform .28s cubic-bezier(.22,1,.36,1),color .28s cubic-bezier(.22,1,.36,1);position:absolute;top:18px;right:0}.faq details[open] summary:after{content:"－";color:var(--green);transform:rotate(180deg)}.faq-cat{font-family:var(--serif);color:var(--navy);border-left:3px solid var(--green);letter-spacing:.04em;margin:44px 0 16px;padding-left:14px;font-size:clamp(17px,2.6vw,20px);font-weight:600;line-height:1.4}.faq-cat:first-of-type{margin-top:8px}.faq summary{padding-left:30px}.faq summary:before{content:"Q.";font-family:var(--serif);color:var(--forest);letter-spacing:.04em;font-size:15.5px;font-weight:600;position:absolute;top:18px;left:0}.faq details p{color:var(--sub);margin:0 0 20px;padding-left:30px;font-size:15px;position:relative}.faq details[open] p{animation:.34s cubic-bezier(.22,1,.36,1) both faqAnswerIn}.faq details p:before{content:"A.";font-family:var(--serif);color:var(--green-deep);letter-spacing:.04em;font-size:15.5px;font-weight:600;position:absolute;top:0;left:0}@keyframes faqAnswerIn{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.faq details,.faq summary,.faq summary:after{transition:none!important}.faq details[open] p{animation:none!important}.faq details[open] summary:after{transform:none!important}}.sub-hero{background:linear-gradient(90deg, transparent 0%, #557d6914 48%, transparent 100%) 50% 24px / min(420px, 72vw) 1px no-repeat, linear-gradient(90deg, transparent 0%, #d8c45e38 48%, transparent 100%) 50% calc(100% - 22px) / min(260px, 60vw) 1px no-repeat,  linear-gradient(180deg, var(--cream) 0%, var(--cream2) 52%, var(--cream) 100%);padding:84px 0 58px;position:relative;overflow:hidden}.sub-hero:before{content:"";background:linear-gradient(90deg,#0000,#2a27223d,#0000);width:210px;height:1px;position:absolute;bottom:18px;left:8%;transform:rotate(-8deg)}.sub-hero:after{content:"";border-top:1px solid #557d693d;border-radius:50% 50% 0 0;width:88px;height:44px;position:absolute;bottom:24px;right:max(28px,10%);transform:rotate(5deg)}.sub-hero .wrap{z-index:1;position:relative}.sub-hero h1{font-family:var(--serif);letter-spacing:.04em;color:var(--navy);margin:10px 0 0;font-size:clamp(28px,5.4vw,46px);line-height:1.25}.sub-hero-ja{color:var(--green-deep);letter-spacing:.18em;margin:16px 0 0;font-weight:800}.sub-hero-lead{max-width:620px;color:var(--sub);margin:24px auto 0;font-size:clamp(15px,2.4vw,17px)}.sub-section{background:0 0;padding:72px 0 88px;position:relative;overflow:hidden}.sub-section:before{content:"";pointer-events:none;clip-path:polygon(0 0,100% 0,100% 42%,78% 58%,54% 38%,28% 62%,0 44%);background:linear-gradient(168deg,#ffffff8a 0 58%,#0000 59%),linear-gradient(90deg,#0000,#557d691f,#0000);height:clamp(54px,7vw,104px);position:absolute;top:0;left:-8vw;right:-8vw}.sub-section>*{z-index:1;position:relative}.price-sec{background:var(--paper);padding:clamp(54px,8vw,84px) 0;position:relative;overflow:hidden}.price-sec:before{content:"";pointer-events:none;clip-path:polygon(0 0,100% 0,100% 38%,84% 56%,64% 40%,45% 64%,24% 44%,0 60%);background:linear-gradient(170deg,#f4eee2b8 0 48%,#0000 49%);height:clamp(44px,6vw,88px);position:absolute;top:0;left:-8vw;right:-8vw}.price-sec>*{z-index:1;position:relative}.price-sec.is-tint{background:var(--cream2)}.price-head{margin:0 0 clamp(30px,4vw,46px);padding-left:2px;position:relative}.price-chap{z-index:0;font-family:var(--serif);color:var(--cream2);pointer-events:none;font-size:clamp(48px,9vw,74px);font-weight:700;line-height:1;position:absolute;top:-30px;left:-6px}.price-sec.is-tint .price-chap{color:#d6e3f1}.price-eyebrow{z-index:1;font-family:var(--serif);letter-spacing:.08em;color:var(--forest);margin:0 0 6px;font-size:13px;display:block;position:relative}.price-head h2{z-index:1;font-family:var(--serif);color:var(--navy);letter-spacing:.02em;margin:0;font-size:clamp(23px,3.6vw,31px);font-weight:600;line-height:1.35;position:relative}.price-head-sub{z-index:1;max-width:640px;color:var(--ink);margin:12px 0 0;font-size:15px;line-height:1.85;position:relative}.price-sec .compare-scroll{max-width:940px}.price-sec .sub-info-board:first-of-type{margin-top:0}.setup-card{background:var(--paper);border:1px solid #e6edf6;border-radius:22px;max-width:880px;padding:clamp(28px,4vw,42px);box-shadow:0 14px 40px #2a27220f}.setup-price{border-bottom:1px solid #e6edf6;flex-wrap:wrap;align-items:baseline;gap:8px 14px;margin:0 0 14px;padding:0 0 18px;display:flex}.setup-name{font-family:var(--serif);color:var(--navy);font-size:clamp(17px,2.4vw,20px);font-weight:600}.setup-amount{font-family:var(--serif);color:var(--navy);font-size:clamp(30px,5.2vw,42px);font-weight:700;line-height:1}.setup-tax{color:var(--ink);letter-spacing:.02em;font-size:13px}.setup-lead{color:var(--ink);margin:0;font-size:15px;line-height:1.9}.setup-roles{grid-template-columns:1fr 1fr;gap:18px;margin:24px 0 0;display:grid}.setup-role{background:var(--mist);border-radius:16px;padding:20px 22px}.setup-role.is-futaba{background:#2a27221a}.setup-role h4{font-family:var(--serif);color:var(--navy);margin:0 0 9px;font-size:15px;font-weight:600}.setup-role p{color:var(--ink);margin:0;font-size:14px;line-height:1.9}.setup-note{color:var(--ink);margin:22px 0 0;font-size:13.5px;line-height:1.95}.setup-assure{background:var(--cream2);border-radius:16px;margin:22px 0 0;padding:20px 24px}.setup-assure-title{font-family:var(--serif);color:var(--navy);margin:0 0 10px;font-size:15px;font-weight:600}.setup-assure ul{gap:11px;margin:0;padding:0;list-style:none;display:grid}.setup-assure li{color:var(--ink);padding-left:22px;font-size:14px;line-height:1.9;position:relative}.setup-assure li:before{content:"";background:var(--green);border-radius:50%;width:8px;height:8px;position:absolute;top:11px;left:2px}@media (max-width:700px){.setup-roles{grid-template-columns:1fr}}.compare-wrap{text-align:center;max-width:920px;margin:48px auto 0}.compare-title{font-family:var(--serif);color:var(--navy);margin:0;font-size:clamp(1.3rem,3.6vw,1.7rem);line-height:1.5}.compare-title-text{padding-bottom:6px;display:inline-block;position:relative}.compare-title-text:after{content:"";background:var(--sun);opacity:.62;border-radius:6px 8px 7px 9px/7px 6px 9px 8px;height:7px;position:absolute;bottom:-2px;left:4%;right:4%}.compare-sub{color:var(--green-deep);margin:12px auto 26px;font-size:.92rem}.compare-scroll{-webkit-overflow-scrolling:touch;border-radius:18px;overflow-x:auto}.compare-table{border-collapse:separate;border-spacing:0;background:var(--paper);text-align:center;border:1.5px solid #2a27221a;border-radius:18px;width:100%;min-width:560px;overflow:hidden;box-shadow:0 12px 30px #2a27220f}.compare-table th,.compare-table td{color:var(--ink);vertical-align:middle;border-bottom:1px dashed #2a272224;padding:15px 14px;font-size:.95rem}.compare-table tbody tr:last-child th,.compare-table tbody tr:last-child td{border-bottom:none}.compare-table thead th{background:var(--mist);color:var(--navy);font-family:var(--serif);white-space:nowrap;border-bottom:1.5px solid #2a27221f;font-size:1.02rem}.compare-table thead th.is-pick{background:var(--sage);color:var(--forest)}.compare-corner{background:var(--paper)!important}.compare-pick-tag{font-family:var(--sans,inherit);letter-spacing:.04em;color:var(--green-deep);margin-top:4px;font-size:.66rem;display:block}.compare-table tbody th[scope=row]{color:var(--navy);text-align:left;white-space:nowrap;background:#eaf1f880;font-size:.9rem;font-weight:600}.compare-table td.is-pick{color:var(--forest);background:#d2e4dc52;font-weight:600}.compare-table .compare-price{font-family:var(--serif);color:var(--navy);font-size:1.08rem}.compare-table td.is-pick.compare-price{color:var(--green-deep)}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.flow-steps{max-width:560px;margin:30px auto 0;padding:0;list-style:none;position:relative}.flow-steps:before{content:"";background:repeating-linear-gradient(#2a272273 0 7px,#0000 7px 14px);width:2px;position:absolute;top:14px;bottom:14px;left:23px}.flow-step{align-items:flex-start;gap:18px;padding:0 0 24px;display:flex;position:relative}.flow-step:last-child{padding-bottom:0}.flow-num{background:var(--paper);border:2px solid var(--green);width:48px;height:48px;color:var(--green-deep);font-family:var(--serif);z-index:1;border-radius:50%;flex:none;place-items:center;font-size:1.25rem;display:grid;position:relative;box-shadow:0 4px 12px #2f4a401f}.flow-step-body{padding-top:3px}.flow-step-body h3{font-family:var(--serif);color:var(--navy);margin:0 0 5px;font-size:1.08rem}.flow-step-body p{color:var(--ink);margin:0;font-size:.93rem;line-height:1.85}.monitor-note{text-align:center;background:linear-gradient(#fffdf6,#fffaf0);border:1.5px solid #f4ce5e99;border-radius:18px;max-width:620px;margin:38px auto 0;padding:26px 28px 24px;box-shadow:0 10px 26px #c096281a}.monitor-badge{background:var(--sun);color:#fff;letter-spacing:.03em;border-radius:999px;padding:5px 16px;font-size:.82rem;font-weight:700;display:inline-block}.monitor-lead{color:var(--ink);margin:16px 0 0;font-size:.95rem;line-height:1.9}.monitor-price{white-space:nowrap;align-items:baseline;gap:7px;margin:0 2px;display:inline-flex}.monitor-price s{color:#313a4680;font-size:.92rem}.monitor-arrow{color:var(--green-deep);font-weight:700}.monitor-price strong{font-family:var(--serif);color:var(--navy);font-size:1.32rem}.monitor-foot{color:var(--green-deep);margin:12px 0 0;font-size:.86rem}.sub-plan-grid{grid-template-columns:.96fr 1.08fr .96fr;align-items:start;gap:22px;display:grid}.sub-plan{background:linear-gradient(180deg, #ffffffe6, #ffffffa8), var(--paper);border:1px solid #e7ddceeb;border-radius:22px;min-height:460px;padding:30px 26px;position:relative;box-shadow:0 12px 34px #2a27220f}.sub-plan:first-child,.sub-plan:nth-child(3){margin-top:0;transform:none}.sub-plan-pick{background:linear-gradient(150deg, #fffffffa, #dfeadbdb), var(--paper);border-color:#557d697a;transform:translateY(-10px);box-shadow:0 22px 52px #557d692e}.sub-plan .plan-badge{margin-bottom:18px}.price-example-board{background:#ffffff9e;border:1px solid #557d692e;border-radius:20px;max-width:940px;margin:clamp(26px,4vw,42px) auto 0;padding:clamp(24px,3.6vw,34px);box-shadow:0 14px 34px #2a27220f}.price-example-board h3{font-family:var(--serif);color:var(--navy);margin:0;font-size:clamp(19px,2.6vw,24px);font-weight:600}.price-example-lead{max-width:720px;color:var(--ink);margin:12px 0 0;font-size:14.5px;line-height:1.9}.price-example-grid{grid-template-columns:repeat(3,1fr);gap:16px;margin-top:22px;display:grid}.price-example-grid article{background:#faf7f2c7;border:1px solid #e7ddcee6;border-radius:16px;padding:18px 18px 20px}.price-example-grid h4{font-family:var(--serif);color:var(--forest);margin:0 0 8px;font-size:15px}.price-example-grid p{color:var(--ink);margin:0;font-size:13.5px;line-height:1.85}.sub-plan-price{font-family:var(--serif);color:var(--navy);letter-spacing:.02em;white-space:nowrap;margin:10px 0 2px;font-size:clamp(28px,4.4vw,40px);font-weight:700;line-height:1.1}.plan-tax{font-family:var(--serif);letter-spacing:.04em;color:var(--sub);vertical-align:.22em;margin-left:7px;font-size:.32em;font-weight:600}.monitor-price .plan-tax{vertical-align:.1em;font-size:12px}.sub-plan-best{color:var(--forest);margin:20px 0 18px;font-weight:800}.sub-plan ul{gap:12px;margin:0;padding:0;list-style:none;display:grid}.sub-plan li{color:var(--sub);padding-left:20px;font-size:14.5px;position:relative}.sub-plan li:before{content:"";background:var(--green);border-radius:50%;width:8px;height:8px;position:absolute;top:15px;left:0}.sub-info-board{background:#ffffff6b;border-top:1px solid #2a272229;border-bottom:1px solid #2a272229;margin:64px 0 0;padding:34px}.sub-info-board h2{font-family:var(--serif);color:var(--navy);margin:0 0 24px;font-size:clamp(22px,3.8vw,32px);font-weight:600}.sub-info-grid{grid-template-columns:1.1fr .9fr 1fr;gap:24px;display:grid}.sub-info-grid.two{grid-template-columns:1fr 1fr}.works-note{border-left:3px solid var(--green);letter-spacing:.02em;max-width:760px;color:var(--sub);background:#ffffff80;margin:48px auto 0;padding:18px 22px;font-size:13.5px;line-height:1.95}.sub-info-grid h3{color:var(--forest);margin:0 0 8px;font-size:16px}.sub-info-grid p{color:var(--sub);margin:0;font-size:14.5px}.sub-cta{background:linear-gradient(135deg,#d2e4dcc2,#ffffffe6);border-radius:22px;justify-content:space-between;align-items:center;gap:22px;width:min(680px,100%);margin:58px auto 0;padding:22px 24px 22px 30px;display:flex;box-shadow:0 14px 34px #2f4a4017}.sub-cta p{color:var(--navy);margin:0;font-weight:800}.works-board{gap:40px;display:grid}.work-card{--work-accent:var(--green);--work-accent-deep:var(--green-deep);--work-soft:#7bb6611f;--work-surface:#ffffffc2;background:radial-gradient(circle at 92% 10%, var(--work-soft), transparent 36%), linear-gradient(135deg, var(--work-surface), #faf7f0b8);border:1px solid #e7ddcedb;border-radius:26px;grid-template-columns:minmax(260px,.92fr) 1.08fr;align-items:center;gap:34px;padding:clamp(20px,3.4vw,34px);display:grid;position:relative;overflow:hidden;box-shadow:0 12px 34px #2a27220f}.work-card:before{content:"";background:linear-gradient(180deg, var(--work-accent), transparent);opacity:.86;border-radius:999px;width:4px;position:absolute;inset:18px auto 18px 18px}.work-card:after{content:"";border:1px solid color-mix(in srgb, var(--work-accent) 32%, transparent);opacity:.22;pointer-events:none;border-radius:50%;width:clamp(150px,24vw,300px);height:clamp(150px,24vw,300px);position:absolute;bottom:-42px;right:clamp(18px,4vw,46px)}.work-card>*{z-index:1;position:relative}.work-card:first-child{--work-accent:#2f7d8c;--work-accent-deep:#16243f;--work-soft:#2f7d8c21;--work-surface:#f7fcffe0}.work-card:nth-child(2){--work-accent:#c15f2e;--work-accent-deep:#45240f;--work-soft:#c15f2e1f;--work-surface:#fffcf6e0;grid-template-columns:1.08fr minmax(260px,.92fr)}.work-card:nth-child(2) .work-visual{order:2}.work-card:nth-child(3){--work-accent:#b89134;--work-accent-deep:#45240f;--work-soft:#b8913429;--work-surface:#fffaf0e6;width:100%}.work-card:nth-child(4){--work-accent:#d8a7a0;--work-accent-deep:#3e3e3e;--work-soft:#d8a7a02e;--work-surface:#fffffff0}.work-visual{aspect-ratio:16/11;background:var(--mist);border-radius:22px;position:relative;overflow:hidden;box-shadow:0 18px 42px #2a272221}.work-visual:after{content:"";pointer-events:none;background:linear-gradient(#0000 54%,#2a27221a),radial-gradient(circle at 18% 14%,#ffffff57,#0000 28%);position:absolute;inset:0}.work-visual img{object-fit:cover;width:100%;height:100%;transition:transform .8s cubic-bezier(.22,1,.36,1);display:block}.work-card:hover .work-visual img{transform:scale(1.035)}.work-body span{font-family:var(--serif);color:var(--work-accent-deep);letter-spacing:.14em;margin-bottom:10px;font-size:13px;font-weight:700;display:inline-flex}.work-body h2{font-family:var(--serif);color:var(--navy);margin:0 0 10px;font-size:clamp(22px,3.7vw,34px);font-weight:600;line-height:1.35}.work-body p{color:var(--sub);margin:0 0 18px}.work-body dl{gap:12px;margin:0;display:grid}.work-body dl div{border-top:1px solid #e7ddcef5;grid-template-columns:78px 1fr;gap:14px;padding-top:12px;display:grid}.work-body dt{color:var(--work-accent-deep);font-size:13px;font-weight:800}.work-body dd{color:var(--sub);margin:0;font-size:14px}.work-demo-link{background:var(--work-accent);color:#fff;border-radius:999px;align-items:center;gap:8px;margin-top:18px;padding:10px 22px;font-size:14px;font-weight:600;text-decoration:none;transition:background .3s,transform .3s;display:inline-flex}.work-demo-link:hover{background:var(--work-accent-deep)}.work-demo-link:hover .arrow{transform:translate(4px)}.work-demo-link .arrow{transition:transform .3s}.faq-nav{background:var(--cream2);border-radius:24px;flex-wrap:wrap;align-items:center;gap:10px 14px;margin:0 0 40px;padding:20px 24px;display:flex}.faq-nav-label{font-family:var(--serif);color:var(--navy);letter-spacing:.04em;font-size:14px}.faq-nav ul{flex-wrap:wrap;gap:8px 10px;margin:0;padding:0;list-style:none;display:flex}.faq-nav a{background:var(--paper);color:var(--navy);border:1px solid #e7ddce;border-radius:999px;align-items:center;gap:7px;padding:7px 16px;font-size:13.5px;font-weight:600;text-decoration:none;transition:transform .3s cubic-bezier(.22,1,.36,1),border-color .3s,background .3s;display:inline-flex}.faq-nav a:hover{border-color:var(--green);background:var(--mist);transform:translateY(-2px)}.faq-nav-no{font-family:var(--serif);color:var(--forest);letter-spacing:.04em;font-size:12px}.faq-page-list{gap:30px;display:grid}.faq-group{background:var(--paper);border:1px solid #e6edf6;border-radius:22px;padding:36px 32px 30px;scroll-margin-top:96px;position:relative}.faq-group:nth-child(2n){background:var(--cream2);border-color:#dce6f2}.faq-group-head{margin:0 0 24px;padding-left:2px;position:relative}.faq-chap{z-index:0;font-family:var(--serif);color:var(--cream2);pointer-events:none;font-size:clamp(48px,9vw,74px);font-weight:700;line-height:1;position:absolute;top:-30px;left:-6px}.faq-group:nth-child(2n) .faq-chap{color:#d6e3f1}.faq-eyebrow{z-index:1;font-family:var(--serif);letter-spacing:.08em;color:var(--forest);margin:0 0 6px;font-size:13px;display:block;position:relative}.faq-group h2{z-index:1;font-family:var(--serif);color:var(--navy);letter-spacing:.02em;margin:0;font-size:clamp(22px,3.4vw,28px);font-weight:600;line-height:1.35;position:relative}.cta-section{isolation:isolate;background:#2a272212;padding:92px 0;position:relative;overflow:hidden}.contact-photo{max-width:320px;margin:0 auto 30px}.contact-photo .photo{box-shadow:0 16px 38px #2f4a4033}.contact-form{background:var(--paper);text-align:left;border-radius:24px;max-width:560px;margin:34px auto 0;padding:38px 36px 34px;box-shadow:0 20px 50px #2f4a4029}.field{margin-bottom:20px}.field label{color:var(--navy);margin-bottom:9px;font-size:14px;font-weight:700;display:block}.field .req{color:var(--green-deep);letter-spacing:.04em;background:#eef7e7;border-radius:6px;margin-left:8px;padding:1px 7px;font-size:11px;font-weight:700;display:inline-block}.field input,.field select,.field textarea{border:1.5px solid var(--line);width:100%;color:var(--ink);background:#fcfdff;border-radius:12px;padding:13px 15px;font-family:inherit;font-size:15px;transition:border-color .15s,box-shadow .15s}.field textarea{resize:vertical;min-height:130px;line-height:1.7}.field input::placeholder,.field textarea::placeholder{color:#aab2bf}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--green);outline:none;box-shadow:0 0 0 3px #2a27222e}.form-submit{justify-content:center;width:100%;margin-top:8px}.form-hint{color:var(--sub);text-align:center;margin:12px 0 0;font-size:12.5px;line-height:1.7}.contact-done{background:var(--paper);text-align:center;border-radius:24px;max-width:560px;margin:34px auto 0;padding:48px 36px;box-shadow:0 20px 50px #2f4a4029}.contact-done-title{font-family:var(--serif);color:var(--navy);margin:0 0 14px;font-size:22px}.contact-done-text{color:var(--sub);margin:0;font-size:15px;line-height:1.9}.contact-done-again{margin-top:26px}.form-alt{text-align:center;color:var(--forest);margin:18px 0 0;font-size:13.5px}.form-alt a{color:var(--green-deep);text-underline-offset:2px;font-weight:700;text-decoration:underline}@media (max-width:880px){.contact-form{padding:28px 22px 26px}}.cta-section .label-en,.cta-section .label-ja{color:var(--forest)}.cta-card{z-index:2;position:relative}.site-footer{background:var(--navy);color:#fff;padding:56px 0 28px}.footer-grid{grid-template-columns:1fr;gap:36px 24px;display:grid}@media (min-width:720px){.footer-grid{grid-template-columns:1.6fr 1fr 1fr;gap:32px}}.footer-brand .brand-light{color:#fff}.footer-tag{font-family:var(--serif);color:#d7deea;letter-spacing:.04em;margin:14px 0 0;font-size:15px}.footer-desc{color:#9aa6bd;max-width:30em;margin:10px 0 0;font-size:12.5px;line-height:1.9}.footer-nav{flex-direction:column;gap:11px;display:flex}.footer-nav a{color:#d7deea;font-size:13.5px;transition:color .2s}.footer-nav a:hover{color:#fff}.footer-bottom{border-top:1px solid #ffffff1a;margin-top:32px;padding-top:20px}.footer-copy{color:#8794ab;margin:0;font-size:12.5px}.teaser-cta{justify-content:center;margin-top:26px;display:flex}.legal-body{text-align:left;max-width:720px;margin:0 auto}.legal-body h2{font-family:var(--serif);color:var(--navy);margin:30px 0 10px;font-size:18px;font-weight:600}.legal-body p{letter-spacing:.03em;color:var(--ink);margin:0 0 12px;font-size:15px;line-height:2}.legal-body a{color:var(--green-deep);text-decoration:underline}.legal-date,.legal-note{color:var(--sub);margin-top:24px;font-size:13px}.privacy-sec{background:var(--cream2)}.privacy-card{background:var(--paper);border:1px solid #e6edf6;border-radius:22px;max-width:760px;padding:clamp(28px,4vw,48px);box-shadow:0 14px 40px #2a27220d}.privacy-intro{border-bottom:1px solid #eef2f8;padding-bottom:22px;margin-bottom:22px!important}.privacy-card h2{margin:34px 0 10px;padding-left:16px;font-size:19px;position:relative}.privacy-card h2:before{content:"";background:var(--green);border-radius:2px;width:4px;height:1.02em;position:absolute;top:.18em;left:0}.legal-contact{background:var(--cream2);border-radius:16px;margin:30px 0 0;padding:22px 24px}.legal-contact-label{font-family:var(--serif);color:var(--navy);font-size:14px;font-weight:600;margin:0 0 8px!important}.legal-contact-name{font-weight:600;margin:0 0 2px!important}.legal-contact-mail{margin:0!important}.operator-table{border-top:1px solid var(--line);gap:0;margin:0;display:grid}.operator-table>div{border-bottom:1px solid var(--line);grid-template-columns:1fr;gap:4px;padding:16px 4px;display:grid}@media (min-width:600px){.operator-table>div{grid-template-columns:160px 1fr;align-items:start;gap:20px}}.operator-table dt{color:var(--navy);font-size:14px;font-weight:700}.operator-table dd{letter-spacing:.02em;color:var(--ink);margin:0;font-size:14.5px;line-height:1.9}@media (max-width:880px){.header-inner{gap:12px;height:auto;min-height:66px;padding-top:10px;padding-bottom:10px}.brand{letter-spacing:.03em;font-size:16px}.brand-logo{max-width:148px;height:36px}.site-nav{gap:0;padding:3px}.site-nav a{min-width:48px;min-height:30px;padding:6px 8px;font-size:12px}.site-header .btn-ghost{padding:8px 14px;font-size:12.5px}.hero-inner{grid-template-columns:1fr;gap:36px}.hero-visual{max-width:340px;margin:8px auto 0}.hero-visual:before{inset:-10px}.hero-step-card{border-radius:14px;min-width:76px;padding:9px 12px}.hero-step-card strong{font-size:12.5px}.hero-step-card-1{top:12px;left:-10px}.hero-step-card-2{top:46%;right:-10px}.hero-step-card-3,.hero-step-card-4{display:none}.hero-ribbon{opacity:.32;bottom:4px}.service-rail{grid-template-columns:repeat(2,1fr);padding:18px}.service-rail:before{display:none}.split,.split-worries,.split-about,.split-service{grid-template-columns:1fr;gap:30px}.diagnosis-panel,.diagnosis-grid,.diagnosis-panel-text .diagnosis-grid{grid-template-columns:1fr}.diagnosis-panel{padding:20px}.diagnosis-panel-text{padding:22px 18px}.diagnosis-arrow svg{width:40px;height:28px;transform:rotate(90deg)}.diagnosis-arrow{padding:4px 0}.diagnosis-photo .photo{aspect-ratio:16/10;border-radius:20px;transform:none}.split .photo,.split.rev .photo{order:-1;width:100%;max-width:340px;margin:0 auto;transform:none}.split-about .photo{max-width:300px}.cards,.plans,.plan-guide,.showcase-panel,.ba-grid{grid-template-columns:1fr}.plans{background:0 0;border:0;padding:0}.promise-story:before{left:18px}.promise-story .card,.promise-story .card:nth-child(2){grid-template-columns:1fr;justify-self:stretch;min-height:0}.promise-story .card:nth-child(2) .photo{order:0}.showcase-panel{margin-top:46px;padding:20px}.showcase-photo{order:-1;transform:none}.cards-stagger .card{margin-top:0;transform:none}.promise-story .card{transform:none!important}.card .photo,.cards-stagger .card:first-child .photo,.cards-stagger .card:nth-child(2) .photo,.cards-stagger .card:nth-child(3) .photo{aspect-ratio:16/9;border-radius:18px}.hero-visual .photo,.contact-photo .photo{transform:none}.flow:before{width:82vw;left:50%;transform:translate(-50%)rotate(-10deg)}.flow li{justify-self:center;width:100%}.flow li:first-child,.flow li:nth-child(2),.flow li:nth-child(3),.flow li:nth-child(4){justify-self:center;width:100%;transform:none}.plan-pick{transform:none}.section{padding:62px 0}.hero{padding:48px 0 70px}.sub-hero{padding:64px 0 44px}.sub-hero:before,.sub-hero:after{opacity:.55}.sub-section{padding:54px 0 68px}.sub-plan-grid,.sub-info-grid,.sub-info-grid.two,.work-card,.work-card:nth-child(2){grid-template-columns:1fr}.sub-plan,.sub-plan:first-child,.sub-plan:nth-child(3),.sub-plan-pick,.work-card,.work-card:nth-child(2),.work-card:nth-child(3){width:100%;min-height:0;margin:0;transform:none}.price-example-grid{grid-template-columns:1fr}.sub-plan-grid .sub-plan[data-reveal].is-revealed:first-child,.sub-plan-grid .sub-plan[data-reveal].is-revealed:nth-child(2),.sub-plan-grid .sub-plan[data-reveal].is-revealed:nth-child(3),.works-board .work-card[data-reveal].is-revealed:first-child,.works-board .work-card[data-reveal].is-revealed:nth-child(2),.works-board .work-card[data-reveal].is-revealed:nth-child(3){transform:none}.work-card:nth-child(2) .work-visual{order:0}.sub-info-board{padding:28px 22px}.sub-cta{justify-items:start;padding:22px;display:grid}.faq-group{border-radius:18px;min-width:0;max-width:100%;padding:28px 20px 24px}.faq-page-list,.faq{min-width:0}.faq-nav{border-radius:20px;margin-bottom:32px;padding:18px}.faq-chap{top:-22px;left:-2px}.faq details{min-width:0;max-width:100%;padding:3px 20px}.faq summary{min-width:0;padding-right:24px;font-size:15px;line-height:1.75}.faq summary:after{top:18px}.pc-only{display:none}}@media (max-width:560px){.wrap{padding:0 20px}.header-inner{flex-wrap:wrap}.site-nav{order:3;justify-content:space-between;width:100%}.site-nav a{flex:1}.hero-cta,.sub-cta{width:100%}.work-body dl div{grid-template-columns:1fr;gap:2px}}@media (max-width:700px){.section{padding:46px 0}.split-about,.split-service{gap:26px}.sub-section{padding:48px 0 58px}.sub-info-board{margin-top:40px;padding:24px 20px}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto;transition:none!important;animation:none!important}.photo:after,.hero-ribbon,.hero-step-card{animation:none!important}}.works-intro{border:1px solid #e7ddcedb;border-left:4px solid var(--green);background:radial-gradient(circle at 100% 0,#7bb6611f,#0000 34%),linear-gradient(135deg,#ffffffd1,#faf7f09e);border-radius:14px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px 20px;max-width:760px;margin:0 auto 40px;padding:24px 28px;display:flex}.works-intro p{color:var(--ink);flex:380px;margin:0;font-size:14px;line-height:1.9}.demo-map{--map-accent:#5a9e57;--map-deep:#16243f;--map-paper:#eef5fb;--map-soft:#5a9e5721;--map-line:#16243f1f;--map-note:#16243f;border:1px solid var(--map-line);background:#fff;border-radius:16px;min-height:260px;overflow:hidden;box-shadow:0 16px 36px #2322261c}.demo-map--clinic{--map-accent:#5a9e57;--map-deep:#16243f;--map-paper:#eef5fb;--map-soft:#2f7d8c21;--map-note:#16243f}.demo-map--nurse{--map-accent:#c15f2e;--map-deep:#232226;--map-paper:#f8f0e6;--map-soft:#c15f2e21;--map-note:#232226}.demo-map--cafe{--map-accent:#b98b23;--map-deep:#4b230f;--map-paper:#f4ecdc;--map-soft:#b98b2326;--map-note:#4b230f}.demo-map--beauty{--map-accent:#c5867f;--map-deep:#3a3938;--map-paper:#f5eeee;--map-soft:#c5867f24;--map-note:#3a3938}.demo-map__canvas{aspect-ratio:16/10;background:radial-gradient(circle at 20% 22%, var(--map-soft), transparent 23%), radial-gradient(circle at 82% 76%, var(--map-soft), transparent 24%), linear-gradient(var(--map-line) 1px, transparent 1px), linear-gradient(90deg, var(--map-line) 1px, transparent 1px), var(--map-paper);background-size:auto,auto,44px 44px,44px 44px,auto;min-height:246px;position:relative;overflow:hidden}.demo-map__park,.demo-map__water,.demo-map__road,.demo-map__station,.demo-map__pin,.demo-map__label{position:absolute}.demo-map__park{background:color-mix(in srgb, var(--map-accent) 18%, #fff);opacity:.72;border-radius:42% 58% 54% 46%}.demo-map__park--a{width:24%;height:24%;top:9%;left:5%;transform:rotate(-8deg)}.demo-map__park--b{width:25%;height:22%;bottom:8%;right:5%;transform:rotate(8deg)}.demo-map__water{background:#7eaec654;border-radius:999px;height:18px;top:58%;left:-8%;right:-8%;transform:rotate(-4deg)}.demo-map__road{background:#ffffffeb;border:1px solid #23222614;border-radius:999px;width:120%;height:18px;left:-10%;box-shadow:0 1px #2322260d}.demo-map__road--main{top:38%;transform:rotate(3deg)}.demo-map__road--sub{height:13px;top:72%;transform:rotate(-5deg)}.demo-map__road--cross{width:88%;height:14px;top:45%;left:34%;transform:rotate(72deg)}.demo-map__station{z-index:2;border:2px solid var(--map-deep);min-width:52px;height:28px;color:var(--map-deep);letter-spacing:.04em;background:#ffffffeb;border-radius:999px;justify-content:center;align-items:center;padding:0 10px;font-size:.76rem;font-weight:700;display:inline-flex;top:37%;left:14%}.demo-map__pin{z-index:3;background:var(--map-accent);border:3px solid #fff;border-radius:50% 50% 50% 0;width:34px;height:34px;top:43%;left:58%;transform:translate(-50%,-50%)rotate(-45deg);box-shadow:0 10px 20px #2322262e}.demo-map__pin:after{content:"";background:#fff;border-radius:50%;position:absolute;inset:8px}.demo-map__label{z-index:4;width:min(210px,38%);color:var(--map-deep);background:#ffffffeb;border:1px solid #2322261a;border-radius:12px;padding:12px 14px;top:43%;left:calc(58% + 26px);transform:translateY(-50%);box-shadow:0 10px 24px #2322261f}.demo-map__label strong,.demo-map__label small{display:block}.demo-map__label strong{font-size:.88rem;line-height:1.45}.demo-map__label small{color:#2322269e;margin-top:4px;font-size:.72rem;line-height:1.55}.demo-map__note{background:var(--map-note);color:#fffc;text-align:center;letter-spacing:.02em;margin:0;padding:10px 16px;font-size:.74rem;line-height:1.7}@media (max-width:560px){.demo-map{border-radius:12px;min-height:220px}.demo-map__canvas{min-height:210px}.demo-map__station{min-width:44px;height:25px;font-size:.68rem;top:32%;left:8%}.demo-map__pin{top:45%;left:53%}.demo-map__label{width:auto;inset:auto 14px 14px;transform:none}}.trunkWrap{z-index:3;pointer-events:none;position:absolute;inset:0}.trunkLine{width:60px;height:100%;position:absolute;top:0;left:50%;overflow:visible;transform:translate(-50%)}.trunkPath{stroke:url(#trunkGrad);stroke-width:12px;fill:none;stroke-linecap:round;vector-effect:non-scaling-stroke;stroke-dasharray:100;stroke-dashoffset:calc(100 - 100 * var(--grow,0));opacity:.95;transition:stroke-dashoffset .1s linear}.trunkTop{width:clamp(94px,11vw,138px);position:absolute;top:clamp(74px,12vh,128px);left:50%;transform:translate(-50%)}.trunkTop svg{width:100%;height:auto;overflow:visible}.trunkSproutStem{stroke:#5b9150;stroke-width:2.6px;fill:none;stroke-linecap:round;stroke-dasharray:100;stroke-dashoffset:100px;animation:1.1s cubic-bezier(.19,1,.22,1) .55s forwards trunkDraw}.trunkSproutLeaf{stroke:#5b9150;stroke-width:2.4px;fill:#7ca95f00;stroke-linejoin:round;stroke-dasharray:100;stroke-dashoffset:100px;animation:1.1s cubic-bezier(.19,1,.22,1) 1s forwards trunkDraw,.8s 1.9s forwards trunkFill}.trunkLeaf{width:clamp(28px,3vw,42px);opacity:var(--open,0);transition:opacity .5s,transform .55s cubic-bezier(.19,1,.22,1);position:absolute;left:50%}.trunkLeaf svg{width:100%;height:auto;display:block}.trunkLeaf path{stroke:#8fb85b;stroke-width:2px;fill:#8fb85b4d;stroke-linejoin:round}.trunkRoots{width:clamp(130px,17vw,200px);position:absolute;bottom:clamp(28px,6vh,78px);left:50%;transform:translate(-50%)}.trunkRoots svg{width:100%;height:auto;overflow:visible}.trunkRoots path{stroke:#6fa45f;stroke-width:2px;fill:none;stroke-linecap:round;opacity:.72}@keyframes trunkDraw{to{stroke-dashoffset:0}}@keyframes trunkFill{to{fill:#7ca95f99}}@media (max-width:820px){.trunkWrap{display:none}}@media (prefers-reduced-motion:reduce){.trunkPath{transition:none}.trunkSproutStem,.trunkSproutLeaf{stroke-dashoffset:0!important;animation:none!important}.trunkSproutLeaf{fill:#7ca95f99!important}.trunkLeaf{transition:none}}
